알고리즘/백준

[백준] 1748. 수 이어 쓰기 - 파이썬

빙빙 2021. 8. 4. 17:12
N=int(input())
res = 0
s = len(str(N))
if s == 1:
    res = N
else:
    for i in range(2,s+1):
        res += (9*(10**(i-2))*(i-1))
    res += (N-(10**(s-1)-1))*s
print(res)

한 자리 수 일 때는 받아온 N그대로이니까 N출력

한자리수 이외에는 만약 3자리수이라면 한자리수 * 9개, 두 자리수* 90개를 모두 더해준뒤

N-99(두자리수중 가장 큰것)을 하면 세자리수의 갯수가 나온다.

그래서 그 갯수에 *3을 한 것을 더해줘서 출력했다.