Python/Data Struc & algo
[Python] 회문 판별(palindrome)
Pydole
2018. 4. 18. 20:38
파이썬 회문 판별(palindrome)
회문(palindrome) : 순서를 거꾸로 읽어도 제대로 읽은 것과 같은 단어와 문장
Ex) 'level', 'sos', 'nurses run' 같은 단어와 문장
'l e v e l' 을 예를들어 보면, 첫 문자와 마지막 문자가 동일하고, 안으로 들어갈 수록 서로 같으면 회문
def palindrome(word):
for i in range(len(word) // 2):
if word[i] != word[-1 -i]:
return False
return True
print(palindrome('level'))
True
회문은 거꾸로 읽어도 동일하므로, 입력받은 문자열을 리스트로 변환하여 reversed(역순)와 비교하는 방법도 가능하다
words = ['level','sos','mama' ]
for word in words:
if list(word) == list(reversed(word)): # 역순과 비교
print(word, "회문 입니다")
else:
print(word, "회문이 아닙니다")
level 회문 입니다
sos 회문 입니다
mama 회문이 아닙니다