문제
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)
'Python > 백준 python' 카테고리의 다른 글
[파이썬/python] 백준 15439번 베라의 패션 (0) | 2023.04.27 |
---|---|
[파이썬/python] 백준 27959번 초코바 (0) | 2023.04.24 |
[파이썬/python] 백준 9506번 약수들의 합 -> 참고 (0) | 2023.04.01 |
[파이썬/python] 백준 14215번 세 막대 (0) | 2023.03.30 |
[파이썬/python] 백준 27889번 특별한 학교 이름 (0) | 2023.03.28 |