[파이썬/Python/프로그래머스] 스택/큐 > 프린터

SooYeon Yeon·2022년 5월 14일
0

파이썬/알고리즘

목록 보기
12/35
def solution(priorities, location):
    answer = 0
    idx = []
    for i in range(len(priorities)):
        idx.append(i)
    printer = []
    while priorities:
        check = False
        for i in range(1, len(priorities)):
            if priorities[0] < priorities[i]:
                priorities.append(priorities.pop(0))
                idx.append(idx.pop(0))
                check = True
                break
        if check == False:
            priorities.pop(0)
            printer.append(idx.pop(0))
    for i in range(len(printer)):
        if printer[i] == location:
            return i+1

    return answer

문제풀이

리스트에 맨 뒤로 옮기면서 그럼 index도 계속 이동할 텐에 어떻게 할까 생각하다가 idx 리스트를 만들고 idx 리스트도 함께 pop, append를 해주어 printer 리스트에 idx를 저장하는 형식으로 풀었다. 더 좋은 방법도 있을 것 같다.

0개의 댓글