백준 문제 링크
수 이어 쓰기
- 문제의 예제 2번의 경우는 다음과 같다.
12341567891011121314151617181920
- 비교할 숫자 i를 1부터 1씩 늘려가며 N의 첫번째 숫자와 맞는지 비교해볼 것이다.
- 만약 i = 1, num = str(i), N = 1234일 때
num[0]와 N[0]가 같으므로 N = N[1:]로 바꾸고
num = num[1:]로 바꾼다.
여기서 num = num[1:] 로 바꾸는 이유는 아래와 같다.
- 만약 num = 112 라면
num[0] != N[0]일 때, num = num[1:]로 바꾸어 num = 12로 만든 뒤에
다시 while문 안에서 N[0]와 같은지 검사하는 것임.
- 마지막으로 N의 숫자가 다 없어졌을 때 i를 출력하면 끝!
N = input()
i = 0
while len(N):
i += 1
num = str(i)
while len(num) > 0 and len(N) > 0:
if num[0] == N[0]:
N = N[1:]
num = num[1:]
# num이 110일 때, num[0] != N[0]이면, num = 10으로 바뀌고 다시 while문 적용, 이 때 num[0] != N[0]이므로 다시 while문 적용
print(i)
어려웠다 ㅠㅠ