[leetcode] 344. reverse string

강아지 이름은 봄이·2023년 6월 23일

0. 문제 링크

leetcode 344.reverse string

1. 나의 풀이

✍️ 설명

  1. 뒤집는것은 맨 왼쪽 원소와 맨 오른쪽 원소가 swap 되는 것과 같음
  2. 반복문의 반복 횟수를 리스트의 절반으로 하여 왼쪽 원소와 오른쪽 원소를 swap함

🖥️ 실행 코드

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

🔥 성능 확인

2. 다른 코드

책 <파이썬 알고리즘 인터뷰> 를 참고함

2-1. reverse() 사용

✍️ 설명

reverse()는 문자열과 리스트에서 역순으로 바꿀 때 사용할 수 있는 함수임. 이 함수를 이용하여 뒤집음

🖥️ 실행 코드

class Solution:
    def reverseString(self, s: List[str]) -> None:
        s.reverse() #s = s.reverse() 아님!

🔥 성능 확인


s.reverse() 의 시간복잡도는 O(n)이기 때문에 조금 느리다.

0개의 댓글