홍우진의 개발 일기장
[백준] 1966번: 프린터 큐 / 파이썬 본문
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
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 10813번: 공 바꾸기 / 파이썬 (1) | 2024.12.09 |
---|---|
[백준] 2108번: 통계학 / 파이썬 (0) | 2024.12.08 |
[백준] 1929번: 소수 구하기 / 파이썬 (0) | 2024.12.06 |
[백준] 18110번: solved.ac / 파이썬 (0) | 2024.12.05 |
[백준] 28702번: FizzBuzz / 파이썬 (0) | 2024.12.04 |
Comments