컴퓨터공학/기타 프로그래밍

[Python3] 문자열 뒤집기 reversed()

TaeGyeong Lee 2023. 3. 23. 12:24

python에서 문자열을 뒤집는 방법은 여러 가지가 있습니다.

 

reversed()

파이썬에서 기본적으로 제공하는 reversed 함수를 사용할 수 있습니다.

그러나 reversed 함수는 뒤집어진 문자열이 아닌 뒤집어진 iterator를 반환합니다. 

s = "apple pie"

print(reversed(s))

# 출력 결과 : <reversed at 0x7fda21b0bc10>

 

따라서 반환받은 iterator를 join 함수를 통해 다시 문자열로 만들어야 합니다.

join함수를 사용하여 길이가 0인 문자열 ''에 iterator를 추가하여 뒤집어진 문자열을 만들 수 있습니다.

s = "apple pie"

s_iter = reversed(s)

print(''.join(s_iter))

# 출력 결과 : eip elppa

 

슬라이싱

reversed 함수 사용 방법 외에도 슬라이싱 기법을 사용하여 뒤집어진 문자열을 만들 수 있습니다.

s = "apple pie"

print(s[::-1])

# 출력 결과 : eip elppa

앞의 방법보다 심플해 보이지만 이 방법은 많은 메모리를 차지합니다. TLE 상황을 피해야 하고 대용량의 문자열 케이스까지 고려해야 하는 알고리즘 문제에서는 적절한 방법이 아닙니다.

알고리즘 솔루션을 작성할 때 코드가 조금 더 길어지더라도 reversed와 join을 사용하는 것을 추천합니다.