KEEP GOING
[python] 프로그래머스 : 프린터 본문
반응형
https://programmers.co.kr/learn/courses/30/lessons/42587
1. 코드 구현
from collections import deque
def solution(priorities, location):
n = len(priorities)
que = deque([])
# 큐에 (인덱스, 문서별 중요도) 추가
for i in range(n):
que.append((i, priorities[i]))
# 가장 높은 우선순위
high_prior = max(que, key=lambda x:x[1])[1]
# 출력되는 순위
count = 1
while que:
high_prior = max(que, key=lambda x:x[1])[1]
idx, now = que.popleft()
# 우선순위가 가장 높은 문서인 경우
if now == high_prior:
# 원하는 location의 문서였을 경우
if idx == location:
return count
# 아니라면 순위 +1 증가
count += 1
else:
que.append((idx, now))
반응형
'code review > stack-queue' 카테고리의 다른 글
[python] 프로그래머스 12899번: 124 나라의 숫자 (0) | 2022.04.28 |
---|---|
[python] 프로그래머스 : 기능개발 (stack, queue) (0) | 2022.02.18 |
[python] 백준 2504번 : 괄호의 값 (stack) (0) | 2022.02.02 |
[python] 백준 1935번 : 후위 표기식2 (0) | 2022.01.27 |
[python] 백준 2164번 : 카드2 (queue, 2*n-m 규칙 찾기) (0) | 2022.01.27 |
Comments