반응형
수 이어 쓰기 1
티어 : Silver 3
시간 제한 : 0.15 초 (Python 0.5 초)
메모리 제한 : 128 MB
알고리즘 분류 : 수학, 구현
문제
1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.
1234567891011121314151617181920212223...
이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다.
출력
첫째 줄에 새로운 수의 자릿수를 출력한다.
예제 입출력
Algorithm
1. 입력받은 숫자의 자리수 구하기
2. 1 자리수면 입력받은 숫자 print
3. 2 자리수면 9 + ((N-10) + 1) * 2
4. 3 자리수면 9 + 90 + ((N-100) + 1) * 2
...
Code
N = input()
answer = 0
for i in range(len(N)-1):
answer += 9 * (10**i) * (i+1)
answer += (((int(N)-10**(len(N)-1)) + 1) * len(N))
print(answer)
메모리: 30860 KB
시간: 68 ms
반응형
'백준 > Python' 카테고리의 다른 글
[백준 15650] N과 M (2) Python (0) | 2022.04.04 |
---|---|
[백준 15649] N과 M (1) Python (0) | 2022.04.04 |
[백준 2075] N번째 큰 수 Python (0) | 2022.03.31 |
[백준 3190] 뱀 Python (0) | 2022.03.31 |
[백준 12904] A와 B Python (0) | 2022.03.31 |