코딩이 즐겁다

[파이썬 입문] 문자열 뒤집기, 문자열 거꾸로 출력 7가지 방법 갓벽 가이드 본문

Python

[파이썬 입문] 문자열 뒤집기, 문자열 거꾸로 출력 7가지 방법 갓벽 가이드

코즐 2025. 2. 18. 11:19
반응형
파이썬 문자열 뒤집기 혹은 문자열 거꾸로 출력하는 방법이라고 불리고 있는 방법 7가지를 준비했습니다.

요즘 개발자로 취업할 때 코딩테스트하면 이런 문제가 나오는지는 모르겠지만 도움이 되었으면 좋겠습니다. 쉽다고 생각하면 쉬울 수 있으나 파이썬의 기초 공부를 열심히 하지 않으면 알 수 없으니 기초가 부족하다고 생각하시는 분들은 파이썬 기초부터 다시 공부한다고 생각하시고 파이썬 기초에 관한 다른 작성글들도 한번 읽어보시면 도움이 되실 겁니다.

 

 

reverse() 메서드 사용

리스트 타입의 reverse() 메서드를 사용하여 문자열 뒤집기를 할 수 있습니다. 문자열을 리스트로 만든 후에, 리스트를 뒤집고 다시 리스트를 문자열로 만들어 주는 방법입니다.

✅ 예제 코드:

k = "python"
li = list(k)
li.reverse()

print(li)
print("".join(li))

출력 결과:

['n', 'o', 'h', 't', 'y', 'p']
nohtyp

 


 

reversed() 내장 함수 사용

reversed() 내장 함수를 사용하여 문자열을 뒤집고 리스트로 만든 다음에 다시 문자열로 만들어 주는 방법입니다.

✅ 예제 코드:

k = "python"
rv = list(reversed(k))

print(rv)
print("".join(rv))

출력 결과:

['n', 'o', 'h', 't', 'y', 'p']
nohtyp

 


 

문자열 슬라이싱 사용 ( [::-1] )

리스트 타입의 reverse() 메서드를 사용하여 문자열 뒤집기를 할 수 있습니다. 문자열을 리스트로 만든 후에, 리스트를 뒤집고 다시 리스트를 문자열로 만들어 주는 방법입니다. 이 방법이 가장 빠르고 파이썬스러운(Pythonic) 방법이라고 생각합니다.

✅ 예제 코드:

k = "python"
rv = k[::-1]

print(rv)

출력 결과:

nohtyp

 


 

for 루프 사용

for문을 사용하여 문자 하나씩 순차적으로 앞쪽에 추가하여 문자열을 뒤집는 방식입니다. 다른 언어에서도 사용하는 방법이니 익혀두시면 어디서나 사용하실 수 있습니다.

✅ 예제 코드:

str = "python"
reversed_text = ""

for char in str :
	reversed_text = char + reversed_text

print(reversed_text)

출력 결과:

nohtyp

 


 

for 루프 사용 (역순회)

문자열 인덱스 음수 번호를 활용한 방법 입니다. 문자열 길이를 구하고 range() 함수는 종료값 이전까지만 순회되기 때문에 +1을 해서 음수(-)로 만들어 주어야 합니다.

✅ 예제 코드:

k = "python"
length = len(k)
rv = ""

for i in range(-1,(length+1)*-1, -1) :
    rv += k[i]

print(rv)

출력 결과:

nohtyp

 


 

reduce() 함수 사용

functools.reduce()를 사용하면 for 루프 없이 문자열을 역순으로 만들 수 있습니다. reduce()리스트나 튜플 같은 반복 가능한 객체의 모든 요소를 순차적으로 처리하여 누적된 값을 반환합니다. 이 방법도 문자열을 앞에 추가하면서 역순 정렬하는 방법이라고 생각하시면 됩니다. 자세히 보시면 앞에서 보여드린 for루프 사용 방법과 동일한 방법입니다.

✅ 예제 코드:

from functools import reduce

text = "python"
reversed_text = reduce(lambda acc, char: char + acc, text)
print(reversed_text)

출력 결과:

nohtyp

 


 

재귀 함수 사용

반응형

재귀를 사용하여 문자열을 뒤집을 수도 있습니다. 재귀를 사용하여 마지막 문자부터 하나씩 앞에 붙여서 뒤집을 수 있습니다. 문자열 슬라이싱([:-1])에서 마지막 문자는 계속 제거되고 제거된 문자를 계속 앞에 붙이기 때문에 재귀 함수를 사용하여 뒤집을 수 있습니다.

✅ 예제 코드:

def reverse_string(s):
    if len(s) == 0:
        return s
        
    return s[-1] + reverse_string(s[:-1])  # 마지막 문자를 앞으로 보내면서 재귀 호출

text = "python"
reversed_text = reverse_string(text)
print(reversed_text)

출력 결과:

nohtyp

 


 

코즐

파이썬을 배우고 싶은 사람은 누구나 파이썬 학원(국비 지원 파이썬 학원)에 가지 않고도 파이썬 공부를 하면서 실력을 쌓아나갈 수 있다고 생각합니다. 

파이썬 온라인 강의 자료를 올리면서 누구나 쉽게 파이썬을 공부하실 수 있도록 최선을 다해서 설명하도록 하겠습니다.

 


 

 

반응형