[백준 1966번 / Java] 프린터 큐코딩테스트/백준2023. 7. 1. 08:03
Table of Contents
728x90
728x90
문제 링크
https://www.acmicpc.net/problem/1966
풀이
큐만 잘 알고있으면 그냥 단순 구현이 가능한 문제
문제에서, 같은 우선순위는 출력의 대상이 되는 것만 고려하면 됐다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;
public class BaekJoon1966 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int testcase = Integer.parseInt(br.readLine());
StringTokenizer st = null;
for(int i = 0; i < testcase; i++){
st = new StringTokenizer(br.readLine(), " ");
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
st = new StringTokenizer(br.readLine(), " ");
int[] arr = new int[N];
Queue<Integer> queue = new LinkedList<>();
for(int j = 0; j < N; j++){
int tmp = Integer.parseInt(st.nextToken());
arr[j] = tmp;
queue.add(j);
}
int cnt = 0;
while(!queue.isEmpty()){
boolean chk = false;
int before = queue.poll();
for(int j : arr){
if(arr[before] < j){
queue.add(before);
chk = true;
break;
}
}
if(!chk){
cnt++;
arr[before] = 0;
if(before == M){
System.out.println(cnt);
break;
}
}
}
}
}
}
728x90
300x250
@mag1c :: 꾸준히 재밌게
2023.04 ~ 백엔드 개발자의 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!