[백준] 1966번 프린터 큐 ★

거북이·2023년 1월 18일
0

백준[실버3]

목록 보기
12/92
post-thumbnail

💡문제접근

간단해보이는 큐 문제였는데 계속 버벅거렸다. 새로운 코드를 다시 작성해보면서 공부해야겠다고 느꼈던 문제였다.
맨 앞에 있는 원소가 큐의 최댓값이라면 빼주고 중요도를 1만큼 증가시킨다.

💡코드(메모리 : 34092KB, 시간 : 76ms)

from collections import deque

T = int(input())
for _ in range(T):
    N, M = map(int, input().split())
    text = deque(list(map(int, input().split())))
    rank = 0
    while True:
        max_value = max(text)
        front_value = text.popleft()
        M -= 1		
        if max_value == front_value:
            rank += 1
            if M < 0:
                print(rank)
                break
        else:
            text.append(front_value)
            if M < 0:
                M = len(text) - 1

💡소요시간 : 38m

0개의 댓글