LeetCode 344. Reverse String (Easy)
이 문제는 리스트의 원소들을 뒤집어서 출력하도록 코드를 짜야한다.
문제 풀이
문제는 참 쉬웠다. 문제를 풀면서 notation(:)을 활용하는 방법에 대해서 좀더 되새김 하는 시간이 되었다.
string = ["H","E","L","L","O"]
"H" | "E" | "L" | "L" | "O" | |
+ index | 0 |
1 |
2 |
3 |
4 |
- 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, 0, len(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
'온라인 코딩 테스트 문제 풀이 > LeetCode 문제 풀이' 카테고리의 다른 글
Python으로 푸는 LeetCode 121. Best Time to Buy and Sell Stock (Easy) (0) | 2019.03.20 |
---|---|
Python으로 푸는 LeetCode 860. lemonadeChange (Easy) (0) | 2019.03.19 |
Python으로 푸는 LeetCode 877. Stone Game (0) | 2019.02.24 |
Python으로 푸는 LeetCode 1. Two Sum (0) | 2019.02.13 |