main
[백준-1966번/Java] 프린터 큐 본문
* Queue 사용
* 테스트 케이스 마다 queue를 초기화 해주거나, queue.clear() 해줘야 한다.
import java.io.*;
import java.util.*;
import java.math.*;
public class Main {
static Queue<Integer> printer = new LinkedList<Integer>();
private static boolean isHighPriority(int priority) {
for (Integer i : printer) {
if (i > priority) {
return false;
}
}
return true;
}
private static void print_status() {
for (Integer integer : printer) {
System.out.print(integer + " ");
}
System.out.println();
}
public static void main(String[] args) throws IOException {
Scanner in = new Scanner(System.in);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int T = in.nextInt();
for (int i = 0; i < T; i++) {
int N = in.nextInt();
int M = in.nextInt();
for (int j = 0; j < N; j++) {
printer.add(in.nextInt());
}
int count = 0;
while (true) {
if (isHighPriority(printer.peek())) {
printer.poll();
count++;
if (M == 0) {
break;
} else {
M--;
}
} else {
printer.add(printer.poll());
if (M == 0) {
M = printer.size() - 1;
} else {
M--;
}
}
}
bw.write(count + "\n");
printer.clear();
}
bw.flush();
}
}
728x90
'Algorithm' 카테고리의 다른 글
[백준-2231번/Java] 분해합 (0) | 2022.11.20 |
---|---|
[백준-10815번/Java] 숫자 카드 (0) | 2022.11.20 |
[백준-1271번/Java] 엄청난 부자2 (0) | 2022.11.19 |
[Array-9/Java] 격자판 최대합 (0) | 2022.11.19 |
[String-10] 가장 짧은 문자거리 (0) | 2022.11.18 |
Comments