๐๏ธ Algorithm/๐ฉ ๋ฐฑ์ค
๐ฉ [๋ฐฑ์ค] [Java] [Silver3] 1966๋ฒ_ํ๋ฆฐํฐ ํ
Dbswnstjd
2024. 1. 12. 16:54
๋ฌธ์
https://www.acmicpc.net/problem/1966
1966๋ฒ: ํ๋ฆฐํฐ ํ
์ฌ๋ฌ๋ถ๋ ์๋ค์ํผ ์ฌ๋ฌ๋ถ์ ํ๋ฆฐํฐ ๊ธฐ๊ธฐ๋ ์ฌ๋ฌ๋ถ์ด ์ธ์ํ๊ณ ์ ํ๋ ๋ฌธ์๋ฅผ ์ธ์ ๋ช ๋ น์ ๋ฐ์ ‘์์๋๋ก’, ์ฆ ๋จผ์ ์์ฒญ๋ ๊ฒ์ ๋จผ์ ์ธ์ํ๋ค. ์ฌ๋ฌ ๊ฐ์ ๋ฌธ์๊ฐ ์์ธ๋ค๋ฉด Queue ์๋ฃ๊ตฌ์กฐ์
www.acmicpc.net
ํ์ด
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Collections;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;
public class ํ๋ฆฐํฐํ {
static int t; // ํ
์คํธ ์ผ์ด์ค ์
static int n; // ๋ฌธ์์ ๊ฐ์
static int m; // ๊ถ๊ธํ ๋ฌธ์์ ์ด๊ธฐ ์์น
static Queue<Integer> queue; // ๋ฌธ์์ ์ค์๋
static Queue<Integer> indexQueue; // ๋ฌธ์์ ์ธ๋ฑ์ค
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
for(int i=0; i<t; i++){
StringTokenizer st = new StringTokenizer(br.readLine());
n = Integer.parseInt(st.nextToken());
m = Integer.parseInt(st.nextToken());
queue = new LinkedList<>();
indexQueue = new LinkedList<>();
st = new StringTokenizer(br.readLine());
for(int j=0; j<n; j++){
queue.offer(Integer.parseInt(st.nextToken()));
indexQueue.offer(j);
}
solve();
}
}
public static void solve(){
int count = 1;
while (!queue.isEmpty()) {
int max = Collections.max(queue);
int cur = queue.poll();
int curIndex = indexQueue.poll();
if(cur == max){
if (curIndex == m) {
System.out.println(count);
break;
}
count++;
}
else{
queue.offer(cur);
indexQueue.offer(curIndex);
}
}
}
}