프로그래밍/[ Python ]

[문자열 조작] 문자열 뒤집기

gooooooood 2021. 1. 11. 07:20
반응형

Q. 문자열을 뒤집는 함수를 작성하라. 입력값은 문자 배열이며, 리턴 없이 리스트 내부를 직접 조작하라.

 

"""예제 1"""
# 입력
["h", "e", "l", "l", "o"]

# 출력
["o", "l", "l", "e", "h"]


"""예제 2"""
# 입력
["H", "a", "n", "n", "a", "h"]

# 출력
["h", "a", "n", "n", "a", "H"]

풀이 1. 투 포인터를 이용한 스왑

# 리턴 없이 리스트 내부를 직접 조작하라는 제약사항이 있으므로 아래와 같이 두개의 포인터로 내부를 
# 스왑하는 방식으로 풀이가 가능하다.

def reverseString(self, s: List[str]) -> None:
    left, right = 0, len(s) - 1
    
    while left < right:
        s[left], s[right] = s[right], s[left]
        
        left += 1
        right -= 1

 

풀이 2. 파이썬 다운 방식

# 파이썬에서 제공하는 reverse() 함수로 간단하게 리스트를 뒤집을 수 있다.

def reverseString(self, s: List[str]) -> None:
    s.reverse()
반응형

'프로그래밍 > [ Python ]' 카테고리의 다른 글

[문자열 조작] 가장 흔한 단어  (0) 2021.01.11
[문자열 조작] 로그 파일 재정렬  (0) 2021.01.11
[문자열 조작] 유효한 팰린드롬  (0) 2021.01.11
[1-2] 파이썬  (0) 2020.11.18
[1-1] 코딩 인터뷰  (0) 2020.11.17