728x90
나의 풀이
def reverseString(self, s : List[str]) -> None:
s = s[::-1]
원래는 정상적으로 작동해야 하는 코드이지만 리트코드의 특성 상 작동하지 않는다. s[:]=s[::-1]로 트릭을 사용할 수 있지만... 이를 생각한다는게 흠....
풀이 # 1
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
def reverseString(self, s : List[str]) -> None:
s.reverse()
- str.reverse() : 리스트에서만 사용가능
파이썬의 특징을 잘 살린 코드라 할 수 있다. reverse()를 통해 간단하게 해결하였다.
반응형
'알고리즘' 카테고리의 다른 글
[파이썬 알고리즘 인터뷰] 가장 흔한 단어 (0) | 2022.02.18 |
---|---|
[파이썬 알고리즘 인터뷰] 로그파일 재정렬 (0) | 2022.02.18 |
[파이썬 알고리즘 인터뷰] 유효한 팰린드롬 (0) | 2022.02.14 |
[프로그래머스] level1 - 숫자 문자열과 영단어 (0) | 2021.12.11 |
[프로그래머스] Level1 - 신규 아이디 추천* (0) | 2021.12.11 |