프로그래머스 프린터

박성호·2021년 7월 9일

(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를 반환하는 기가막힌 함수이다그래서 뒤에 중요도와 비교를 하고 중요도가 작은게 있으면 맨뒤에 추가를 해서 돌리는 식으로 알고리즘을 돌리었다.

profile
코린이

0개의 댓글