728x90
문제
수 124를 뒤집으면 421이 되고 이 두 수를 합하면 545가 된다. 124와 같이 원래 수와 뒤집은 수를 합한 수가 좌우 대칭이 되는지 테스트 하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/3062
입력
입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄에 하나의 정수 N(10 ≤ N ≤ 100000)이 주어진다.
출력
각 테스트 케이스에 대해서 원래 수와 뒤집은 수를 합한 수가 좌우 대칭이 되면 YES를 아니면 NO를 한 줄에 하나씩 출력한다.
예제
# input
4
13
58
120
5056
# output
YES
NO
YES
NO
문제 풀이
import sys
input = sys.stdin.readline
T = int(input())
answer = []
for _ in range(T):
S = input()
reversed_S = S[::-1] # 문자열 뒤집기
hap = str(int(S) + int(reversed_S)) # 숫자로 변환 후 합한 뒤 문자열로 변환
# 회문인지 확인
if hap == hap[::-1]:
answer.append("YES")
else:
answer.append("NO")
# 결과 출력
print(*answer, sep='\n')
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90
728x90
문제
수 124를 뒤집으면 421이 되고 이 두 수를 합하면 545가 된다. 124와 같이 원래 수와 뒤집은 수를 합한 수가 좌우 대칭이 되는지 테스트 하는 프로그램을 작성하시오.
https://www.acmicpc.net/problem/3062
입력
입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄에 하나의 정수 N(10 ≤ N ≤ 100000)이 주어진다.
출력
각 테스트 케이스에 대해서 원래 수와 뒤집은 수를 합한 수가 좌우 대칭이 되면 YES를 아니면 NO를 한 줄에 하나씩 출력한다.
예제
# input 4 13 58 120 5056 # output YES NO YES NO
문제 풀이
import sys input = sys.stdin.readline T = int(input()) answer = [] for _ in range(T): S = input() reversed_S = S[::-1] # 문자열 뒤집기 hap = str(int(S) + int(reversed_S)) # 숫자로 변환 후 합한 뒤 문자열로 변환 # 회문인지 확인 if hap == hap[::-1]: answer.append("YES") else: answer.append("NO") # 결과 출력 print(*answer, sep='\n')
파이썬을 독학하시는 분들에게 도움이 되길 바라며,
혹 더 좋은 방법이 있거나 오류가 있다면 편하게 말씀 부탁드립니다.
728x90