728x90
반응형
https://www.acmicpc.net/problem/1966
1966번: 프린터 큐
여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에
www.acmicpc.net
프로그래머스에 동일? 한문제가 있다.
막혀서 다른 블로그를 참고해서 다시 풀어보고 그림 그려가면서 이해해보고 해당 문제를 풀었는데 갑자기 백지화가 되었다.
다시 그림그려가면서 이것저것 했더니 풀었긴했다.
아직 구현이 약해서 내 생각대로 코드가 안쳐지는 것 같다 .
package BAEKJOON.Silver.Ⅲ;
import java.util.Collections;
import java.util.PriorityQueue;
import java.util.Scanner;
public class NO1966 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
PriorityQueue<Integer> Q = new PriorityQueue<>(Collections.reverseOrder());
int t = sc.nextInt();
while(t > 0) {
Q.clear();
int n = sc.nextInt(); //문서의개수
int m = sc.nextInt(); //몇번째인쇄되었는지 궁금한 문서현재위치
int answer = 0;
int[] arr = new int[n];
for (int j = 0; j < n; j++) {
arr[j] = sc.nextInt();
}
for (int j = 0; j < arr.length; j++) {
Q.add(arr[j]);
}
// 핵심코드
Loop:
while (!Q.isEmpty()) {
for (int k = 0; k < n; k++) {
if (Q.peek() == arr[k]) {
if (k == m) {
answer++;
break Loop;
}
Q.poll();
answer++;
}
}
}
System.out.println(answer);
t--;
}
}
}
728x90
반응형
'Algorithm & SQL > BAEKJOON' 카테고리의 다른 글
백준 JAVA 11399 ATM (0) | 2022.08.13 |
---|---|
백준 JAVA 11047 동전0 (0) | 2022.08.13 |
백준 JAVA 1874 스택 수열 (0) | 2022.08.12 |
백준 JAVA 4949 균형잡힌 세상 (0) | 2022.08.11 |
백준 JAVA 11651 좌표 정렬하기2 (0) | 2022.08.11 |
댓글