[T.I.L] 221129 - 알고리즘 문자열 뒤집기

권병석·2022년 11월 29일
1

T.I.L (스파르타)

목록 보기
11/22
post-thumbnail

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

입력

["h", "e", "l", "l", "o"]

출력

["o", "l", "l", "e", "h"]

풀이 #1

"투 포인터를 이용한 스왑"

s = ["h", "e", "l", "l", "o"]


def reverseString(str):
    left, right = 0, len(str) - 1
    while left < right:
        str[left], str[right] = str[right], str[left]
        left += 1
        right -= 1


reverseString(s)
print(s)

풀이 #2

"파이썬 다운 방식"

s = ["h", "e", "l", "l", "o"]


def reverseString(str):
    str.reverse()


reverseString(s)
print(s)

reverse()는 리스트에만 제공된다.
만약 입력값이 문자열이라면 문자열 슬라이싱을 사용할 수 있다.
슬라이싱은 리스트에도 사용할 수 있으며, 성능 또한 매우 좋다.

s = s[::-1]
profile
Back-End 개발자를 꿈꾸는 디제이였던 백수의 TIL 일기장 입니다.

1개의 댓글

comment-user-thumbnail
2022년 11월 29일

ㅎㄷㄷ

답글 달기