LeetCode.344
문자열을 뒤집는 함수를 작성하라.
입력값은 문자열이며, 리턴 없이 리스트 내부를 직접 조작하라.
✊ 꼭 체크하고 넘어가야 할 제약사항
- 입력값은 문자열이다.
- 리턴 없이 문자열을 직접 조작해야 한다.
[풀이 1] 투 포인터를 이용한 스왑
❓ 투 포인터란?
2개의 포인터를 이용해 범위를 조정해가며 풀이하는 방식
def reverseString(self, s: List[str]) -> None:
left, right = 0, len(s) = -1
while left < right:
s[left], s[right] = s[right], s[left]
left += 1
right += 1
[풀이 2] 파이썬다운 방식
입력값이 리스트로 주어진다면 아래와 같이 reverse()함수를 통해 쉽게 뒤집을 수 있다.
def reverseString(self, s: List[str]) -> None:
s.reverse()
‼️ reverse()는 리스트에만 제공된다!
만약 입력값이 문자열이라면 아래와 같이 슬라이싱을 사용할 수 있다.
s = s[::-1]
플랫폼에 따라 위와 같은 슬라이싱이 되지 않을 경우가 있는데 이럴 떄는 아래와 같은 방법을 사용하면 된다.
s[:] = s[::-1]
반응형
'코딩테스트' 카테고리의 다른 글
Palindrome - [LeetCode.125] (0) | 2021.05.02 |
---|