https://www.acmicpc.net/problem/1259
while True:
n = input()
l = len(n)
if n == "0": break
elif l % 2 == 0 and n[:l//2] == n[l//2:][::-1]:
print("yes")
elif l % 2 == 1 and n[:l//2] == n[l//2+1:][::-1]:
print("yes")
else:
print("no")
바보같이 처음에는 입력의 길이가 홀수일 때와 짝수일 때 다르게 풀어야 하는 줄 알았다.
위 코드의 elif
문을 하나로 합치면 다음과 같다.
while True:
n = input()
l = len(n)
if n == "0": break
elif n[:l//2] == n[l//2+l%2:][::-1]:
print("yes")
else:
print("no")
l % 2
를 이용해 홀수, 짝수일 때 모두 대응하도록 했다.
while True:
n = input()
if n == "0": break
l = len(n)
print("yes" if n[:l//2] == n[l//2+l%2:][::-1] else "no")
삼항 연산자를 이용해 더 간결화했다.
while 1:
n = input()
if n == "0": break
print("yes" if n == n[::-1] else "no")
정신을 차리고 다시 풀었다.