import sys
input = sys.stdin.readline
from collections import deque
def page(N,n):
c = len(str(N))-1
a = int(str(N)[0])
if c == 0:
if n > a:
return 0
else:
return 1
result = a*c*10**(c-1) + page(N-a*10**c,n)
if n > a:
return result
if n == a:
return result + (N-a*10**c+1)
return result + 10**c
def sumpage(N):
result = 0
for n in range(1,10):
result += page(N,n)*n
return result
L,U = map(int,input().split())
if L:
L -= 1
print(sumpage(U)-sumpage(L))
책 페이지 [백준 1019번] 책 페이지 (Python3) (tistory.com) 문제의 하위호환문제이다.
책 페이지 문제의 경우 0의 개수를 세는거에서 애를 먹었었는데, 이 문제는 0을 신경쓰지 않아도 되기 때문에 매우 쉽게 풀 수 있다.
딱 하나 주의할 점은 L 값이 0인 경우 0 -1을 하면 -1이 되므로 코드에 에러가 날 수 있으니 이것만 주의하면 된다.
오늘의 교훈) 0을 조심하자