본문으로 바로가기

 LeetCode 344. Reverse String (Easy)

이 문제는 리스트의 원소들을 뒤집어서 출력하도록 코드를 짜야한다.

LeetCode에서 푼 문제 리스트 보기

LeetCode에서 문제 보기

github에서 코드 보기

문제 풀이

문제는 참 쉬웠다. 문제를 풀면서 notation(:)을 활용하는 방법에 대해서 좀더 되새김 하는 시간이 되었다.

string = ["H","E","L","L","O"]


  "H"

"E"

"L" 

"L" 

"O" 

+ index

 0

 - index

 -5

 -4

 -3

 -2

 -1

음수 index를 활용하면 긴 코드를 작성하지 않아도 손쉽게 리스트를 뒤집을 수 있었다. 

* reverse_string = string[::-1]  #notation으로 리스트 뒤집기

LeetCode의 Easy 단계 문제를 풀면,  이론으로는 알면서도 문제를 풀때는 활용하지 못하는 경우가 많은 부분들을 되새김할 수 있어서 좋다.

파이썬 코드1 (추가 메모리가 들지 않는대신 시간이 걸림)

1
2
3
4
5
6
7
8
9
10
class Solution:
    def reverseString(self, s: List[str]) -> None:
        def helper(s: List[str], i: int, j: int-> None:
            if i >= j:
                return
            s[i], s[j] = s[j], s[i]
            helper(s, i + 1, j - 1)
 
        helper(s, 0len(s) - 1)
 
cs

파이썬 코드2 (코드가 간결한 대신 메모리가 추가로 든다)

1
2
3
4
5
6
7
8
9
class Solution:
    def reverseString(self, s):
        """
        :type s: str
        :rtype: str
        """
        lists = list(s)
        rev_list = lists[::-1]
        return ''.join(rev_list)
cs

#344. Reverse String #344. Reverse String 파이썬 #344. Reverse String python #LeetCode 344