파이썬 문제풀이
백준 1748번: 수 이어 쓰기 1 (실버 4)
지식보부상님
2025. 1. 7. 15:20
알고리즘 분류
제출 코드
n = int(input())
digit = len(str(n))
result = 0
for i in range(1, digit):
result += i*(10**i - 10**(i-1))
result += digit * (n - 10**(digit-1) + 1)
print(result)
문제
1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.
1234567891011121314151617181920212223...
이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다.
출력
첫째 줄에 새로운 수의 자릿수를 출력한다.
예제 입력 1
5
예제 출력 1
5
예제 입력 2
15
예제 출력 2
21
예제 입력 3
120
예제 출력 3
252