🖇️ 문제

📝 코드 계획
1. 알파벳 소문자로 이루어진 단어
2. 팰린드롬을 구분하는 조건문
🔍 전체 코드
n = input() #코드 계획 -1 ☑️
m = list(n)
if len(m)>1:
for i in range(len(m)//2): #코드 계획 -2 ☑️
if m[i] != m[len(m)-(i+1)]:
a = 0
break
else:
a = 1
if a == 0:
print(0)
else:
print(1)
else:
print(1)
🖍️ 코드 해설
알파벳 소문자로 이뤄진 단어를 n으로 받아온다.
그와 동시에 문자열을 list로 변환하여 m에 저장한다.
만약 리스트 m의 길이가 2 이상이라면, 리스트 길이를 2로 나눈 몫만큼 for문을 돌린다.
이는 문자의 길이가 홀수이던 짝수이던, 중간을 기준으로 양 쪽의 문자가 같은지 확인하기 위해서이다.
m의 앞의 절반의 문자가 뒤의 절반의 문자와 다르다면 a라는 변수에 0을 넣고 반복문을 나온다.
양 쪽의 문자들이 서로 같다면, a에 1이 들어가고 반복문이 끝난다.
a가 0이면, 맢 뒤 문자가 서로 다른 단어로 팰린드롬이 아니므로 0을 출력하고, 1이면 팰린드롬으로 1을 출력한다.
또한 길이가 1이면, 팰린드롬이므로 for문을 거치지 않고 바로 1을 출력한다.
팰린드롬에 대한 코드 설명이 훌륭하네요. 직관적으로 이해하기 쉽게 글을 써주셔서 감사합니다. 앞으로도 유익한 글 기대할게요!