반응형
1. 문제
주어진 숫자인 12345가 있을 때, 뒤집으면 54321이 된다. 이 12345와 54321을 더하면 66666이 되는데, 이 66666은 앞으로 읽으나 뒤로 읽으나 같은 숫자가 되는 것이다. 이렇게 앞으로 읽으나 뒤로 읽으나 같은 것을 회문(Palindrome)이라고 한다. 이 회문을 확인할 수 있는 프로그램을 만들어라.
2. 입력
첫번째 줄의 입력은 테스트 케이스의 개수 T이며, 두 번쨰 줄부터는 T의 개수만큼 주어진 수 N이다.
3. 제약 사항
N은 0<= N <= 10,000,000
4. 테스트케이스 입/출력
입력
3
121
120
46
출력
yes
yes
yes
5. 소스코드
#테스트 케이스 입력
T = int(input())
#테스트 케이스만큼 반복
for i in range(T) :
N = int(input()) # 주어진 정수 입력
N_Reverse = int(str(N)[::-1]) # 정수 reverse
value = 0
value = N + N_Reverse # 원래의 정수 N과 정수 reverse의 합
value = str(value) # 회문을 확인하기 위해 str형으로 변환
mid = len(value) // 2 # 결국 value의 크기를 2로 나눴을 때의 몫이 회문 범위
k = len(value) - 1 // 회문 확인을 위해 맨 뒤 요소
# 회문 비교
for j in range(mid+1) :
if value[j] == value[k] :
k -= 1
else :
print('No')
break
if j == mid :
print('yes')
반응형
'알고리즘 > 알고리즘 학습' 카테고리의 다른 글
최소 신장트리(MST, Minimum Spanning Tree) - KRUSKAL 알고리즘, PRIM 알고리즘 (0) | 2021.03.18 |
---|---|
서로소 집합(Disjoint-set) - Union-Find 알고리즘 (0) | 2021.03.18 |
순차탐색(Sequence Search) 알고리즘 (0) | 2020.08.11 |
1부터 n 까지 연속한 숫자의 합을 구하는 알고리즘 (0) | 2020.08.10 |
파이썬(Python) 소수구하기 소스 코드 (0) | 2020.01.17 |
병합정렬 파이썬(Python) (0) | 2020.01.16 |
선택정렬 파이썬(Python) (0) | 2020.01.16 |
[알고리즘] 해시 테이블(Hash Table) (0) | 2019.06.05 |
최근댓글