편집 시간: 2022년 3월 3일 오후 2:02
코드
Algorithm/1806.py at main · Junroot/Algorithm
풀이
루프문을 돌면서 해당 index로 끝나는 가장 짧은 수열을 찾는 방식으로 문제를 풀었다. 가장 잛은 수열을 구했다면, 다음 index에서는 앞의 수열에 index에 해당하는 수를 추가해주고 앞에서부터 s이상이 되는 가장 짧은 수가 되도록 수를 하나씩 빼주면 된다.
선입선출 때문에 나는 큐를 이용해서 문제를 풀었지만, 큐의 시작 부분과 끝 부분만 알고 있으면 풀 수 있기때문에 인덱스 두 개로 충분히 풀 수 있다.