본문 바로가기
Algorithm/파이썬 알고리즘 인터뷰

[문자열 배열] 문자열 뒤집기

by 밤초록 2021. 12. 31.

 

파이썬 알고리즘 인터뷰 145p

244 | Reverse String
https://leetcode.com/problems/reverse-string/

 

 

 

 

내 코드

 

class Solution:
    def reverseString(self, s: List[str]) -> None:
        for i in range(len(s)//2):
            temp = s[i]
            s[i] = s[len(s)-i-1]
            s[len(s)-i-1] = temp


sol = Solution()
s = ["H","a","n","n","a","h"]
sol.reverseString(s)
print(s)

 

0부터 길이의 절반까지 범위 지정

임시 저장 변수를 지정하여 두 수의 위치 바꿈

 

이상 코드

 

  투 포인터 이용

 

class Solution:
    def reverseString(self, s: List[str]) -> None:
        left, right = 0, len(s)-1
        while left < right:
            # in one line, don't need to use temporary storage variable
            s[left], s[right] = s[right], s[left]
            left += 1
            right -= 1

 

  파이썬 reverse 함수 이용

 

class Solution:
    def reverseString(self, s: List[str]) -> None:
        s.reverse()

 

 

학습

 

  • 한 라인에서 s[left], s[right] = s[right], s[left] 해주면 임시 저장 변수 사용하지 않아도 됨
  • 투 포인터 유용
반응형

댓글