코드
def solution(priorities, location):
files = [[i, priority] for i, priority in enumerate(priorities)]
answer = []
while files :
idx, priority = files.pop(0)
if not files or priority >= max(x[1] for x in files) :
answer.append(idx)
else :
files.append((idx, priority))
return answer.index(location)+1
어려울 것 없이 주어진 조건에 맞게 잘 코딩해주면 된다.
1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다.
2. 나머지 인쇄 대기목록에서 J보다 중요도가 높은 문서가 한 개라도 존재하면 J를 대기목록의 가장 마지막에 넣습니다.
3. 그렇지 않으면 J를 인쇄합니다.
enumerate
를 이용해 각 목록의 인덱스를 묶어주면 훨씬 편하다