Python

[파이썬] for in을 활용해 회문 판별하기

paintover23 2023. 10. 20. 15:58
728x90

 

회문이란(palindrome)?  앞뒤가 똑같은 문자를 말한다. (예: lol, level, nurses run)

for in 반복문을 활용하여 간단한 회문 판독기를 만들자.

word = input("단어를 입력하세요:")

is_palindrome = "회문입니다!"
for i in range(len(word) // 2):
    if word[i] != word[-1 - i]:
        is_palindrome = "회문이 아닙니다!"
        break
print(is_palindrome)

 

1. 사용자가에게 input 받은 단어의 길이를 먼저 반으로 쪼갠다. (회문이라면 중간 지점을 기준으로 왼쪽과 오른쪽의 길이가 동일할 것이기 때문) 중간지점까지를 검사 범위로 삼아 회문 검사를 진행한다.

 

2. 맨 첫번째 문자와 맨 마지막 문자를 비교해서 동일하지 않으면 바로 회문 요건을 탈락한다.

(예시)

     - word 라면, w(인덱스=0)와 d(인덱스= -1)를 비교한다.

     - level  이라면, l(인덱스=0)과 l(인덱스= -1)을 비교한다.

 

3. 회문 여부를 print 한다.

 

 

728x90
반응형