벌써 스터디 3주차에 접어들었다. 푸는데 2시간씩 걸리는 문제들도 있었고 어려웠다. 이번주 문제중에 기억하고 싶은 문제가 있어서 정리한다.
우리나라 말로는 '기러기', '토마토' 영어로는 'level'과 같이 거꾸로 읽어도 글자가 같은(읽기도 같은) 단어를 팔린드롬(palindrome)이라 한다. 팔린드롬(palindrome)이면 True, 아니면 False를 출력하는 함수를 만드는 게 과제였다.
함수만들기를 적극 활용해볼 수 있어서 바로 만들기 시작했다
def is_palindrome(x):
n = 0
for i in range(len(x) // 2):
if x[n] != x[-(n+1)]:
return False
return True
a = input('문자를입력하세요:')
print(is_palindrome(a))
일단 팔린드롬(palindrome) 함수를 def를 이용해 정의하였다. 함수는 for문을 이용해 문자의 길이를 2로 나눈 몫만큼 반복하게 만들었다. 예를 들어 'level'문자를 x 에 입력한다 했을때 for문에서는 level의 제일 첫자와 제일마지막자, 둘째자와 뒤에서 두번째자만 비교하면 되기 때문에 길이의 절반만큼만 반복하면 되었기 때문이다. input을 통해 입력을 받았을 때 True, False 가 정확히 출력되는 것을 확인할 수 있었다.