728x90
BOJ 1748 수 이어 쓰기 1
문제
1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.
1234567891011121314151617181920212223...
이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.
시간 제한
Python 3: 0.5 초
PyPy3: 0.5 초
Python 2: 0.5 초
PyPy2: 0.5 초
메모리 제한 : 128 MB
입력
첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다.
출력
첫째 줄에 새로운 수의 자릿수를 출력한다.
예제 입력 1
5
예제 출력 1
5
예제 입력 2
15
예제 출력 2
21
예제 입력 3
120
예제 출력 3
252
풀이
# boj 1748 수 이어 쓰기 1
n = input()
comp = len(n) - 1
res = 0
for i in range(comp):
res += 9 * (10 ** i) * (i + 1)
i += 1
res += ((int(n) - (10 ** comp)) + 1) * (comp + 1)
print(res)
728x90
'Algorithm(Python) > 수학' 카테고리의 다른 글
[Algorithm] 백준 BOJ 2460 지능형 기차 2(python 파이썬) (0) | 2023.04.23 |
---|---|
[Algorithm] 백준 BOJ 2875 대회 or 인턴(python 파이썬) (0) | 2023.04.22 |
[Algorithm] 백준 BOJ 15964 이상한 기호(python 파이썬) (0) | 2023.04.20 |
[Algorithm] 백준 BOJ 2407 조합(python 파이썬) (0) | 2023.04.19 |
[Algorithm] 백준 BOJ 5554 심부름 가는 길(python 파이썬) (1) | 2023.04.18 |