[Python]/문자열 조작
[Python] 문자열 조작 2 <문자열 뒤집기>
춘햄
2021. 5. 3. 11:58
그냥 기초를 짚고 넘어가자는 의미에서 아주 간단한, 문자열을 뒤집어서 리턴하는 함수를 작성해보려고 한다.
1) 투 포인터를 이용
from typing import List
def reverseString(s: List[str]):
left = 0
right = len(s) - 1
temp = 0
while left < right:
temp = s[left]
s[left] = s[right]
s[right] = temp
left += 1
right -= 1
if __name__ == '__main__':
s = ["1", "2", "3", "4"]
reverseString(s)
print(s)
혹은 temp를 사용하지 않고도 다음과 같이 작성할 수 있다. (파이썬은 진짜 미친 거 같다)
from typing import List
def reverseString(s: List[str]):
left = 0
right = len(s) - 1
while left < right:
s[left], s[right] = s[right], s[left]
left += 1
right -= 1
if __name__ == '__main__':
s = ["1", "2", "3", "4"]
reverseString(s)
print(s)
2) List 내장 함수 이용
from typing import List
def reverseString(s: List[str]):
s.reverse()
if __name__ == '__main__':
s = ["1", "2", "3", "4"]
reverseString(s)
print(s)
List가 가지고 있는 reverse를 사용하면 위 작업 없이도 편리하게 사용할 수 있다. (속도 차이는 많이 나지 않지만 조금 더 빠르다)
반응형