(처음 생각)
처음에는 문자열 말고 리스트로 받아와서 작업을 진행했다.
그랬더니 인덱스 처리할 부분때문에
계속 문제가 발생했다.
로그님의 도움을 받아
겨우 몇 시간만에 풀어낼 수 있었던 문제.. :(
문자열 문제는 너무 어려웡..
이 문제는 이해하는 것부터 어려웠다..
그래도 문제는 결국 이해했지만!
((이 문제는 문자열로 풀면 훨씬 간단하다는 거..))
예제 4번)
82340329923
8 12 13 14 20 23 24 29 39 42 43 에서
임의의 숫자를 빼낸 결과물이
82340329923이다.
이 문제는
1부터 시작해가지고
입력값(82340329923 = temp)의 0번째 위치의 값과
비교하면서
결과값을 찾아나간다.
num는 1부터 시작해서 +1씩 증가한다.
만약 num의 맨 앞자리 숫자와 temp의 맨 앞자리 숫자가 같으면
temp의 0번째 숫자를 버린다.
num 또한 0번째 숫자를 버리는데,
만약 num이나 temp의 길이가 0 이상이라면
위 과정을 계속 반복해야 한다.
만약 temp의 길이가 0이라면?
이제 탐색을 완료한 거니까
num를 그대로 출력해주고 반복문 종료하면 끝!
answer = []
temp = input()
i = 0
while True:
i += 1
num = str(i)
while len(num) > 0 and len(temp) > 0: # num과 temp가 비어있지 않는 경우에만 while문 돌아간다.
if num[0] == temp[0]:
temp = temp[1:]
num = num[1:] # num이 112인데, temp[0]이 1이 아니면, num은 12, 2로 되고 다시 while문 돌아간다.
print(num)
if temp == '':
print(i)
break
'여니의 취준 준비 > 코딩테스트 (Python)' 카테고리의 다른 글
[n1411] 비슷한 단어 in python (0) | 2021.09.29 |
---|---|
[n13900] 순서쌍의 곱의 합 in python (0) | 2021.09.28 |
[n18511] 큰 수 구성하기 in python (0) | 2021.09.27 |
[n2304] 창고 다각형 - 파이썬 (0) | 2021.09.23 |
[n2567] 색종이2 - 파이썬 (0) | 2021.09.23 |