코딩테스트/Baekjoon
[백준] 2154:수 이어 쓰기 3 - Python
지윤공원🌳
2021. 6. 11. 15:25
728x90
📖 문제 설명
1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.
1234567891011121314151617181920212223...
이렇게 만들어진 새로운 수에서 N이 등장하는 위치를 알고 싶다. 물론 1부터 N까지의 수를 이어 쓰는 것이므로 수의 가장 끝부분에서 N이 항상 등장하게 되지만, 그보다 일찍 등장하는 경우도 있다.
예를 들어 N=151인 경우, 다음과 같이 앞에서 20번째 숫자부터 151이 등장하게 된다.
1234567891011121314151617181920212223...
N이 주어졌을 때, N이 가장 먼저 등장하는 위치를 알아내는 프로그램을 작성하시오.
✔️ 입력
첫째 줄에 N(1 ≤ N ≤ 100,000)이 주어진다.
✔️ 출력
첫째 줄에 N이 가장 먼저 등장하는 위치를 출력한다. 앞에서부터 몇 번째인지를 출력하면 된다.
💻 나의 코드
n = int(input()) # 입력받음
s = "" # 빈 문자열 변수 s 초기화
for i in range(n+1): # n + 1까지 반복
s += str(i) # s에 n+1까지의 수를 str로 형변환해서 추가
print(s.find(str(n))) # s에서 n의 위치(인덱스)를 찾아 출력
📜 채점 결과
100
728x90