CS/알고리즘_문제풀이(파이썬)

수 이어 쓰기 1

Jedy_Kim 2021. 7. 21. 12:10
728x90

문제

1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.

1234567891011121314151617181920212223...

이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다.

출력

첫째 줄에 새로운 수의 자릿수를 출력한다.

예제 입력 1 

5

예제 출력 1 

5

예제 입력 2 

15

예제 출력 2 

21

예제 입력 3 

120

예제 출력 3 

252

 

#코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import sys    
      
if __name__ == "__main__":
  input   = sys.stdin.readline
  n       = int(input())
  sum_val_1 = 0  
  sum_val_2 = 0
 
  n_str   = str(n)   
  for i in range(1len(n_str)):
    mul_val = 1
    for j in range(1, i):
      mul_val*=10
    sum_val_1+=9*mul_val*i
    sum_val_2+=9*mul_val 
      
  sum_val_2 = (n - sum_val_2)*(len(n_str))
  print(sum_val_1 + sum_val_2)
    
cs

 

반응형

'CS > 알고리즘_문제풀이(파이썬)' 카테고리의 다른 글

점프  (0) 2021.07.23
DSLR  (0) 2021.07.22
이동하기  (0) 2021.07.21
비슷한 단어  (0) 2021.07.19
숨바꼭질 4  (0) 2021.07.19