문제
https://school.programmers.co.kr/learn/courses/30/lessons/42587
풀이 1
https://github.com/nowChae/algorithm/blob/master/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/2/42587.%E2%80%85%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4/%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4.py
풀이 2
https://github.com/nowChae/algorithm/blob/master/programmers/programmers42587.py
이전에 풀었던 백준 1966 프린터 큐와 같은 문제였다.
백준 1966 프린터 큐
https://www.acmicpc.net/problem/1966
내 풀이
https://velog.io/@lcw8447/Algorithm-baekjoon-1966
from collections import deque
def solution(priorities, location):
answer = 0
priorities = deque(priorities)
processes = deque(i for i in range(len(priorities)))
while True:
max_priority = max(priorities)
if priorities[0] == max_priority:
priorities.popleft()
if processes[0] == location:
answer += 1
break
else:
processes.popleft()
answer += 1
else:
priorities.append(priorities.popleft())
processes.append(processes.popleft())
return answer