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
반응형
'Python3 > 백준 알고리즘' 카테고리의 다른 글
2022.02.23 [백준] (python 파이썬) 수 찾기 (0) | 2022.02.23 |
---|---|
2022.02.22 [백준] (python 파이썬) 이항 계수 1 (0) | 2022.02.22 |
2022.02.22 [백준] (python 파이썬) 검증수 (0) | 2022.02.22 |
2022.02.22 [백준] (python 파이썬) 음계 (0) | 2022.02.22 |
2022.02.22 [백준] (python 파이썬) 별 찍기 - 19 (0) | 2022.02.22 |
댓글