문제링크:https://www.acmicpc.net/problem/1065

한수라는 특이한 개념을 이용한 문제이다.
오늘 푼 문제들 중 가장 오래 걸렸던것 같다.
어디에서 해맸는지도 너무 많아서 헷갈릴 정도,,,
마지막에는 공차값을 절댓값으로 계산해서 그 갯수가 초과되서 나오는 경우였다.
def de(a):
    c = 0
    for i in range(a):
        d_list = []
        num = str(i+1)
        if len(num) == 1:
            c += 1
        else:
            l = list(map(int, num))
            for j in range(1, len(num)):  # 인덱스 값
                margin = (l[j] - l[j-1])
                d_list.append(margin)
            if min(d_list) == max(d_list):
                c += 1
    print(c)
n = int(input())
de(n)
코드 간단화
N = int(input())
a = list(range(1,1000))
for i in range(100,1000):
    if (i%10)+(i//100) != 2*((i//10)%10):
        a[i-1] = 0
print(sum([i>0 for i in a[:N]]))
n = int(input())
han = 0
for i in range(1, n + 1):
    if i < 100:
        han += 1
    else:
        ns = list(map(int, str(i)))
        if ns[0] - ns[1] == ns[1] - ns[2]:
            han += 1
print(han)
이 답변이 간결함과 직관을 더 갖춘것 같다.