문제 풀이/Baekjoon Online Judge

[python3] 1065번 한수

[잉간] 2018. 4. 2. 15:00


2자리수 까지는 전부 등차수열을 이루기 때문에 입력받은 그대로 출력하면 된다.

3자리수부터는 100의 자리수 - 10의 자리수10의 자리수 - 1의 자리수의 값이 같을 경우 개수를 추가하는 방식으로 풀었다.

1000의 경우에는 999와 상황이 같기 때문에 999까지만 계산해야 한다.


num = int(input())
cnt = 99

if num < 100:
	print(num)
	quit()
if num == 1000:
	for i in range(100, 1000):
		h,t,n = str(i)[0],str(i)[1],str(i)[2]
		if int(h) - int(t) == int(t) - int(n):
			cnt += 1
else:
	for i in range(100, num+1):
		h,t,n = str(i)[0],str(i)[1],str(i)[2]
		if int(h) - int(t) == int(t) - int(n):
			cnt += 1
print(cnt)