스택/큐 | 프로그래머스 고득점kit 프로세스 | Python

Table of Contents


프로그래머스 고득점kit 프로세스 | Python

📌 프로그래머스 고득점kit 프로세스 문제 바로가기


🔎 문제 설명

💚 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).