Practice 4 : 함수 3

자료 구조

회문 판별

회문 또는 팰린드롬은 거꾸로 읽어도 제대로 읽는 것과 같은 문장이나 낱말, 숫자, 문자열 등을 말한다.

입력으로 짧은 영어단어 word가 주어질 때, 해당 단어가 회문이면 True 회문이 아니면 False를 반환하는 함수를 작성하시오.

이때, 반복문(while)과 재귀 함수를 사용해서 각각 작성하시오.


예시)

is_pal_while('tomato') #=> False
is_pal_while('racecar') #=> True
is_pal_recursive('azza') #=> True
# while

def is_pal_while(word):
    original_word = word
    reversed_word = ''
    while len(original_word) > 0:
        reversed_word += original_word[-1]
        original_word = original_word[:-1]
    if reversed_word == word:
        return True
    else:
        return False
# 해당 코드를 통해 올바른 결과가 나오는지 확인하시오.
print(is_pal_while('tomato'))
print(is_pal_while('racecar'))
print(is_pal_while('azza'))
False
True
True
# recursive

def is_pal_recursive(word):
    if len(word) < 2:
        return True
    if word[0] != word[-1]:
        return False
    return is_pal_recursive(word[1:-1])
# 해당 코드를 통해 올바른 결과가 나오는지 확인하시오.
print(is_pal_recursive('tomato'))
print(is_pal_recursive('racecar'))
print(is_pal_recursive('azza'))
False
True
True