https://mailprogramming.com/
이 곳에서 1주마다 정기적으로 코딩문제를 받고, 풀어보고 있다.
실리콘밸리에서 소프트웨어 엔지니어로 일하고 있는 팀원들로 구성된 팀이라고 한다.
1. 18/02/12
정수(int)가 주어지면 팰린드롬인지 알아내시오. 단, 정수를 문자열로 바꾸면 안됨.
예제}
Input: 12321
Output: True
Input: 12322
Output: False
# -*- coding: utf8 -*-
# 정수(int)가 주어지면 팰린드롬(palindrome)인지 알아내시오.
# 단, 정수를 문자열로 바꾸면 안됨.
# Input
n = int(input(": "))
# Negative numbers aren't palindrome.
if n<0:
print(False)
exit()
# Convert 'int' to 'list' and Reverse at the same time
arr = [n%10]
i = 100
j = 10
while int(n/j) != 0:
arr.append(int(n%i/j))
i *= 10
j *= 10
# Convert 'list' to 'int'
n2 = 0
i = 1
while len(arr) >= i:
n2 += arr[-i] * (10**(i-1))
i += 1
# Compare input and reversed
if n == n2:
print(True)
else:
print(False)
댓글
댓글 쓰기