(https://programmers.co.kr/learn/courses/30/lessons/42587?language=python3)
프린터에는 스풀이라는 기능이있는데 중요도가 높은문서가있으면 먼저 출력이 될수있도록 하는 것이다.
이문제는 그것을 알고리즘화 하는 것과 비슷한문제였다 중요도 순서에따라 문서들이있는데 3번째 인덱스에 있는 문서는 언제 출력이 가능한가 이런식으로 묻는문제였다.
def solution(priorities,location):
queue=[(i,q)for i,q in enumerate(priorities)]
answer=0
while True:
out=queue.pop(0)
if any(out[1]<q[1] for q in queue):
queue.append(out)
else:
answer+=1
if out[0]==location:
return answer
print(solution([1,1,9,1,1,1],0))
리스트 컴프리헨션은 정말 훌륭한 기능이다.! 또한 any를 사용함으로써 하나라도 True가 생기면 True를 반환하는 기가막힌 함수이다그래서 뒤에 중요도와 비교를 하고 중요도가 작은게 있으면 맨뒤에 추가를 해서 돌리는 식으로 알고리즘을 돌리었다.