[알고리즘 문제풀이] 프린터 큐

황인권·2023년 3월 4일
0

알고리즘 문제풀이

목록 보기
4/81

문제 제목 : 프린터 큐

문제 난이도 : 하

문제 유형 : 큐, 구현, 그리디

https://www.acmicpc.net/problem/1966
시간 제한 : 2초
메모리 제한 : 128MB

문제풀이 아이디어

< 소스코드 >

test_case = int(input())

for _ in range(test_case): # index를 무시하고 싶을 때 _사용
    n, m = list(map(int, input().split(' ')))
    queue = list(map(int, input().split(' ')))
    queue = [(i, idx) for idx, i in enumerate(queue)] # list의 index를 같이 저장하기 위해서
    count = 0
    
    while True:
        if queue[0][0] == max(queue, key=lambda x: x[0])[0]: # queue에 속해있는 요소들 중 가장 큰 가중치와 가장 앞의 인자의 가중치를 비교
            count += 1
            
            if queue[0][1] == m:
                print(count)
                break
            else:
                queue.pop(0) # 가장 큰 가중치는 맞지만 내가 원하는 index가 아님
        else:
            queue.append(queue.pop(0))
profile
inkwon Hwang

0개의 댓글