본문 바로가기

Python

[Python] 틸트 ~ (물결표) 연산자로 회문(palindrome) 문제 푸는 방법

정의

~ 연산자는 비트를 부정하는 연산자입니다. 쉽게 말하자면 ~x-(x+1)를 나타냅니다.

사용 방법

어떤 리스트 data에서 뒤에서 n번째 요소 값을 알고 싶다면 data[~n]과 같은 식으로 사용하면 됩니다. 이는 data[-(n+1)]과 동일하게 작동합니다.

예시

어떤 단어 word가 주어졌을 때 이 단어를 거꾸로 읽어도 똑같은 단어(회문, palindrome)인지 판별하는 함수를 제작한다고 가정하겠습니다.

출력 예시

> level
True

“level”은 거꾸로 해도 ”level”이므로 결과는 True입니다.

> test
False

“test”는 거꾸로 하면 “tset”이므로 결과는 False입니다.

풀이

def solution(word):
    for i in range(len(word)//2):
        if word[i] != word[~i]:
            return False
    return True