잘 정리해보자

프로그래머스 스택/큐 - 프린터 본문

알고리즘/프로그래머스

프로그래머스 스택/큐 - 프린터

토마토오이 2021. 9. 7. 15:18

프로그래머스 고득점 kit - 스택/큐 프린터 (Level 2)


1.

def solution(p_arr, loc):
    answer = 0
    i_arr = [(v,i) for (i,v) in enumerate(p_arr)]
    
    idx = 0
    while len(i_arr) :
        
        if i_arr[idx][0] < max(i_arr)[0] :
            i_arr.append(i_arr[idx])
            i_arr.pop(idx)
        else :
            d = i_arr.pop(idx)
            answer += 1
            if d[1] == loc :
                break

    return answer




2. deque 사용

from collections import deque

def solution(p_arr, loc):
    answer = 0
    i_arr = deque([(v,i) for (i,v) in enumerate(p_arr)])
    
    print(i_arr[0])
    idx = 0
    while len(i_arr) :
        d = i_arr.popleft()
        if d[0] < max(i_arr)[0] :
            i_arr.append(d)
        else :
            answer += 1
            if d[1] == loc :
                break
    
    return answer


> deque 로 하는 경우 testcase에서 런타임에러 발생한다.

 

 

문제 

: https://programmers.co.kr/learn/courses/30/lessons/42587

Comments