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