##문제 어떤 양의 정수 X의 자리수가 등차수열을 이룬다면, 그 수를 한수라고 한다.
등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다.
N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오.
예제를 통해서 얻은 힌트를 조합해 볼 때, 99 이하의 수가 입력된다면 이 숫자 만큼의 한수가 존재한다. 110 이하의 수가 입력된다면 백의 자리 수에서 첫번째 한수인 111보다 작기 때문에 십의 자리 숫자의 개수와 일의 자리 숫자의 개수의 합인 99개 만큼의 한수가 존재한다.
따라서 110 보다 큰 숫자에 한 해서만, 111부터 1씩 증가시키며 입력된 숫자가 될 때 까지 반복을 돌며, 증가시킨 수가 한수에 해당하는지를 체크하면 된다. 한수에 해당하는지 확인하는 방법은 등차수열의 특징인 항차가 같음을 이용한다. 즉, 십의 자리수 - 백의 자리수 == 일의 자리수 - 십의 자리수 가 참이면 한수이다.
num = int(input())
if num <= 99:
print(num)
elif num <= 110:
print('99')
else:
result = 99
for i in range(111,num+1):
hunNum = i // 100
tenNum = (i % 100) // 10
oneNum = (i % 100) % 10
if tenNum - hunNum == oneNum - tenNum:
result+=1
print(result)