Python/백준 python

[파이썬/python] 백준 2154번 수 이어 쓰기 3

CE : 하랑 2023. 4. 4. 21:41

 

 

 

 

문제

 

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

1234567891011121314151617181920212223...

이렇게 만들어진 새로운 수에서 N이 등장하는 위치를 알고 싶다. 물론 1부터 N까지의 수를 이어 쓰는 것이므로 수의 가장 끝부분에서 N이 항상 등장하게 되지만, 그보다 일찍 등장하는 경우도 있다.

예를 들어 N=151인 경우, 다음과 같이 앞에서 20번째 숫자부터 151이 등장하게 된다.

1234567891011121314151617181920212223...

N이 주어졌을 때, N이 가장 먼저 등장하는 위치를 알아내는 프로그램을 작성하시오.

 

 

 

 

 

 

 

 

입력

 

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

ex)

15
34

 

 

 

 

 

 

 

출력

 

첫째 줄에 N이 가장 먼저 등장하는 위치를 출력한다. 앞에서부터 몇 번째인지를 출력하면 된다.

ex)

20
3

 



 

코드

 

import sys

n=input()

num=""

for i in range(1,100001):
    num=num+str(i)

print(num.index(n)+1)