반응형
문제
1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.
1234567891011121314151617181920212223...
이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다.
출력
첫째 줄에 새로운 수의 자릿수를 출력한다.
풀이
n = int(input())
ln = len(str(n))
ans = 0
for i in range(ln-1):
ans += (i+1) * (9 * 10 ** i)
ans += (ln) * (n - 10 ** (ln-1) + 1)
print(ans)
1부터 N가지의 수를 이어서 쓸 경우 만들어진 새로운 수는 몇 자리 수 인지 출력
반응형
'Develop > 알고리즘' 카테고리의 다른 글
[백준/Python] Bronze III #1247 부호 (0) | 2023.01.11 |
---|---|
[백준/text] Unranked #2555 생일 출력하기 (0) | 2023.01.11 |
[백준/Python] Silver IV #2217 로프 (0) | 2023.01.04 |
[백준/Python] Bronze V #26711 A+B (0) | 2023.01.04 |
[백준/Python] Bronze V #25314 코딩은 체육과목 입니다 (0) | 2023.01.04 |
Comment