홍우진의 개발 일기장

[백준] 1966번: 프린터 큐 / 파이썬 본문

알고리즘/백준

[백준] 1966번: 프린터 큐 / 파이썬

홍우진 2024. 12. 7. 23:48
728x90
반응형

문제 링크


https://www.acmicpc.net/problem/1966

 

 

 

풀이 코드


x = int(input())

for _ in range(x):
    n, m = map(int, input().split())
    data = list(map(int, input().split()))

    a = 1
    while(1):
        if data[0] < max(data): #앞에꺼가 max보다 작으면
            data.append(data.pop(0)) #뒤로 보내
        else:   #젤 앞이 max면
            if m == 0: #순서가 0이면 끝
                break

            data.pop(0) #앞에꺼 버리고
            a += 1  #a+1
            
            
        if m > 0:   #순서가 0 이상이면
            m -= 1  #순서 - 1
        else:   
            m = len(data) - 1 #0이라면 순서를 제일 뒤로


    print(a)

코드 해석


if문 두개를 따로 돌려 큐 자리 옮기기와 실시간 순서 카운팅을 같이 진행하였다.

728x90
반응형
Comments