본문 바로가기
Python3/백준 알고리즘

2022.02.22 [백준] (python 파이썬) 팰린드롬수

by ian's coding 2022. 2. 22.
728x90
반응형

 

https://www.acmicpc.net/problem/1259

 

1259번: 팰린드롬수

입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.

www.acmicpc.net

 


풀이

문제에서 주어진 문자열을 앞, 뒤 값을 대칭되게 비교하여 같지 않으면 check를 false로 바꾸고 break문을 빠져나왔다.

만약 for문이 끝나도 check값이 true면 해당 값은 팰린드롬수이므로 yes출력 아니면 no를 출력했다.

코드 5번째 줄에서 a=len(s)//2를 해주는 이유는 반을 잘라서 앞뒤 값을 비교해주기 위해서이다. 

만약 문자열이 짝수이면 모두 비교할 것이고 홀수면 중간값을 제외한 값을 비교할것이다. 홀수일때는 중간값은 비교할 필요가 없기 때문이다. 

1
2
3
4
5
6
7
8
9
10
while True:
    s=input()
    if s=='0':
        break
    a=len(s)//2
    check=True
    for i in range(a):
        if s[i]!=s[-i-1]:
            check=False
    print('yes' if check else 'no')
cs

 

 

 

 

728x90
반응형

댓글