[Algorithm] 프로그래머스 42587 : 프로세스

채멈·2024년 1월 5일

Algorithm

목록 보기
6/24
post-thumbnail

문제
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
profile
공부 기록 차곡차곡 ( ੭ ・ᴗ・ )੭

0개의 댓글