문제

풀이
나는 먼저 수를 입력받은 후 리스트로 변환하였다.
그리고 while 무한 루프를 돌며, 리스트의 첫번째 항목, 즉 맨 앞의 수가 n이라는 문자열 안에 있는지를 확인하였다.
예를 들어, 리스트에 [‘3′,’4′,’5′,’1’] 이렇게 남아있고, n은 34만큼 증가했다고 생각해보자. n을 문자열 ’34’로 바꾸고 for 문을 돌리면서, 3과 일치하면 pop(0)을 써서 ‘3’을 없애 버리고, 또 다시 for 문을 돌면서 ‘4’도 없애버렸다.
다만, for문을 돌면서 중간에 lst가 다 비어버릴 수도 있기 때문에 break도 추가했다.
# 1515
# 수 입력 받기 (문자열)
lst = list(input())
# lst가 다 빌 때까지 루프
n=0
while lst :
n += 1
# 숫자를 문자열로 변환하고, for 문을 돌림
for i in str(n):
#만약 중간에 lst가 다 비면 break 해야함.
if not lst:
break
if lst[0] == i:
lst.pop(0)
# 출력
print(n)
No Responses