프로그래머스 프린터

DARTZ·2022년 5월 23일
0

알고리즘

목록 보기
73/135
from collections import deque

def solution(priorities, location):
    queue = deque(priorities)
    answer = 0
    
    while queue:
        
        if len(queue) == 1: # que에 원소 값이 1개 남았을 경우 무한 루프 발생
            answer += 1 # 마지막에 시행된 작업일 경우 이런 문제 발생
            break
        
        if 0 == location:
            num = queue.popleft()
            if num < max(queue):
                queue.append(num)
                location += len(queue) - 1

            else:
                answer += 1
                break

        else:
            num = queue.popleft()
            if num < max(queue):
                queue.append(num)

            else:
                answer += 1

            location -= 1
            
    return answer
profile
사람들이 비용을 지불하고 사용할 만큼 가치를 주는 서비스를 만들고 싶습니다.

0개의 댓글