-
[1748] 수 이어 쓰기 1 (Python)[Python] 알고리즘/Silver 2021. 11. 11. 14:49
[문제]
https://www.acmicpc.net/problem/1748
1748번: 수 이어 쓰기 1
첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다.
www.acmicpc.net
알고리즘 분류는 수학, 구현 입니다.
N이 3자리 숫자라면 1 ~ 9 까지의 자릿수, 10 ~ 99 까지의 자릿수, 100 ~ N 까지의 자릿수를 더해야 합니다.
(1 ~ 9 까지는 9자리 / 10 ~ 99 까지는 90 * 2자리)
[코드]
import sys N = int(sys.stdin.readline()) if N < 10: print(N) else: sum = 0 for i in range(len(str(N)) - 1): sum += 9 * (10 ** i) * (i + 1) print(sum + (N - 10 ** (len(str(N)) - 1) + 1) * len(str(N)))
'[Python] 알고리즘 > Silver' 카테고리의 다른 글
[1904] 01타일 (Python) (0) 2021.11.17 [2193] 이친수 (Python) (0) 2021.11.15 [17479] 정식당 (Python) (0) 2021.11.10 [23056] 참가자 명단 (Python) (0) 2021.11.09 [18115] 카드 놓기 (Python) (0) 2021.11.08