알고리즘/코딩 테스트

[Leetcode] Reverse String

gooooooood 2020. 8. 19. 23:09
반응형

Problem)

 

정말 간단한 문자열 뒤집기 문제 입니다. 문제의 핵심은  in-place로 추가 메모리를 사용하지 않고 해결하라는 조건입니다.

 

Solution)

class Solution:
    def reverseString(self, s: List[str]) -> None:
        """
        Do not return anything, modify s in-place instead.
        """
        left, right = 0, len(s) - 1
        
        while left < right:
            s[left], s[right] = s[right], s[left]
            left += 1
            right -= 1

left와 right로 처음과 끝의 인덱스를 설정하고 서로 맞바꾸는 방법으로 문자열을 뒤집을 수 있습니다.

 

* 추가적으로 python에서 제공하는 reverse()를 사용하여 정말 간단하게도 해결 가능합니다.

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

 

아래 결과를 보시면 첫 번째가 reverse()를 사용한 방법으로 조금 더 빠른 runtime을 보여줍니다.

 

 

반응형

'알고리즘 > 코딩 테스트' 카테고리의 다른 글

[ Leetcode ] Trapping Rain Water  (0) 2020.08.24
[LeetCode] Two Sum  (0) 2020.08.20
[Leetcode] Valid Palindrome  (0) 2020.08.18
[Leetcode] Container With Most Water  (0) 2020.06.04
[Leetcode] Two City Scheduling  (0) 2020.06.03