프로그래머스 고득점kit 프로세스 | Python
🔎 문제 설명
💚 Level 2
- 난이도 ★☆☆☆ - 스택/큐
스택과 큐를 이용해서 풀 수 있는 문제다. 해당 문제는 간단해서 문제에서 알려준 프로세스대로 코딩하면 쉽게 풀린다.
스택 ver. 코드와 큐 ver. 코드 둘 다 아래에 작성해 놓았다.
💻 내 코드
- 스택을 이용한 버전
def solution(priorities, location):
answer = 0
queue = [(idx, pri) for idx, pri in enumerate(priorities)]
while queue:
idx, now = queue.pop(0)
if queue and now < max(list(zip(*queue))[1]):
queue.append((idx,now))
else:
answer += 1
if location == idx:
return answer
- 큐를 이용한 버전
from collections import deque
def solution(priorities, location):
answer = 0
idx_prior = [(idx, pri) for idx, pri in enumerate(priorities)]
queue = deque(idx_prior)
while queue:
idx, now = queue.popleft()
if queue and now < max(list(zip(*queue))[1]):
queue.append((idx,now))
else:
answer += 1
if location == idx:
return answer
💙 You need to log in to GitHub to write comments. 💙
If you can't see comments, please refresh page(F5).