문제
알파벳 소문자로만 이루어진 단어가 주어진다. 이때, 이 단어가 팰린드롬인지 아닌지 확인하는 프로그램을 작성하시오.
팰린드롬이란 앞으로 읽을 때와 거꾸로 읽을 때 똑같은 단어를 말한다.
level, noon은 팰린드롬이고, baekjoon, online, judge는 팰린드롬이 아니다.
풀이
# 문자열 입력 받기
str = input()
l = len(str)
is_palindrome = 1
# Palindrome 판별
for i in range(int(l / 2)):
if str[i] != str[l - i - 1]:
is_palindrome = 0
break
print(is_palindrome)
팰린드롬인지 확인하기 위해서
- 배열의 절반 만큼 반복문을 시행하고,
- 배열의 현재 인덱스와 대칭되는 뒤 쪽의 인덱스와 값을 비교하여
- 다르면 바로 결과 값을 0으로 설정하고 반복문을 탈출한다
알고 가기
* for i in range(10) 의 경우에, i 는 0 부터 9 까지 증가한다.