프로그래머스 L2 - 우선순위 프린터

dropKick·2021년 2월 9일
0

코딩테스트

목록 보기
15/17


풀이

튜플을 사용하지 않고 풀려고 노력했는데
그냥 처음에 생각난대로 튜플을 쓸걸 그랬다.
튜플과 추가 배열을 사용한 사람이 제일 많았다.

문제를 풀기위한 필요조건은 두 가지로 나는 2번 조건에서 굉 ~ 장히 많은 테스트 케이스를 틀렸다.

  1. 0번이 가장 높은 우선순위인가?
    아니라면 뒤로 넘기기

  2. 0번이 location인가?
    아니라면 location index를 수정하기

코드

from collections import deque


def solution(priorities, location):
    answer = 0
    dq = deque(priorities)

    while len(dq):
        if dq[0] == max(dq):
            answer += 1
            dq.popleft()       
            if location == 0:   
                return answer
            else:
                location -= 1   
        else:
            dq.append(dq.popleft())
            if location == 0:
                location = len(dq) - 1
            else:
                location -= 1
    return answer

0개의 댓글