포시코딩

[프로그래머스][Lv.0] 문자열 뒤집기 본문

자료구조알고리즘/문제풀이

[프로그래머스][Lv.0] 문자열 뒤집기

포시 2022. 12. 27. 15:06
728x90

문제

https://school.programmers.co.kr/learn/courses/30/lessons/120822

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

내 풀이

def solution(my_string):
    answer = list(reversed([*my_string]))
    return ''.join(answer)

생각나는 방법대로 풀었는데 너무 어렵게 생각한게 아닐까 계속 고민되는 풀이다.

reversed() 함수를 쓴 것도 안쓰고 할 수 있는 방법이 없었을까 하는 생각이 계속 드는중

 

다른 풀이 A

def solution(my_string):
    return ''.join(list(reversed(my_string)))

내가 푼 방법과 유사한데, 이 코드를 보면 reversed는 list, string에 상관없이 거꾸로 만든 다음 list로 반환하는듯 싶다.

공식문서에서 확인해보고 싶은데 Python은 https://developer.mozilla.org/ 같은 곳이 없는지 사람들이 정리한 블로그만 나온다..

 

다른 풀이 B

def solution(my_string):
    return my_string[::-1]

Python 문자열 다루는 방법으로 [:]를 알고 있긴 했는데 이런 방법은 처음 봤다.

https://itholic.github.io/python-reverse-string/

 

[python] 문자열 거꾸로 출력하기 [::-1]

문자열 거꾸로 출력하기

itholic.github.io

이 블로그를 통해 알아본 결과 [시작:끝:증가]와 같이 사용할 수 있는데 전체에 대해서는 생략을 할 수 있다.

고로, [::-1]은 전체에 대해 -1을 해나가는 방식

test = '123456789'
print(test[5:1:-1])  # 6543

이런식으로도 사용할 수 있다.

728x90