1 ๋ถ„ ์†Œ์š”

๐Ÿ“ [S3_1966] ํ”„๋ฆฐํ„ฐ ํ

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.Collections;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;

public class Main {
	static StringTokenizer st;
	static Queue<int[]> queue;
	static int[] temp;

	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb = new StringBuilder();

		// ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ž…๋ ฅ
		int tc = Integer.parseInt(br.readLine());
		int z = 0;
		for (int t = 1; t <= tc; t++) {
			st = new StringTokenizer(br.readLine(), " ");

			// ๋ฌธ์„œ์˜ ๊ฐœ์ˆ˜
			int N = Integer.parseInt(st.nextToken());

			// ๊ถ๊ธˆํ•œ ๋ฌธ์„œ๊ฐ€ ๋ช‡๋ฒˆ์งธ ๋†“์—ฌ์žˆ๋Š”์ง€
			int M = Integer.parseInt(st.nextToken());

			st = new StringTokenizer(br.readLine(), " ");
			// ์ค‘์š”๋„ ๋ฐฐ์—ด ์ž…๋ ฅ
			LinkedList<int[]> q = new LinkedList<int[]>();
			for (int i = 0; i < N; i++) {
				int input = Integer.parseInt(st.nextToken());
				q.add(new int[] { i, input }); // (index, ์ค‘์š”๋„)
			}

			// ๋ช‡๋ฒˆ์งธ๋กœ ์ธ์‡„
			int res = 0;

			while (!q.isEmpty()) {
				// ์šฐ์„ ์ˆœ์œ„ ํ™•์ธ ๋ณ€์ˆ˜
				boolean isMax = true;
				// ์ ค ์•ž ์›์†Œ ์ถ”์ถœ
				int[] p = q.poll();

				for (int i = 0; i < q.size(); i++) {
					if (p[1] < q.get(i)[1]) {
						q.add(p);
						for (int j = 0; j < i; j++) {
							q.add(q.poll());
						}
						isMax = false;
						break;
					}

				}

				if (isMax == false) {
					continue;
				}

				res++;
				if (p[0] == M) {
					break;
				}
			}
			sb.append(res).append("\n");
		}
		System.out.println(sb);
	}
}

๐Ÿค” ๋‚˜์˜ ์ƒ๊ฐ

๋ฌธ์ œ์—๋„ ๋‚˜์™€์žˆ์ง€๋งŒ Queue๋ฅผ ์ด์šฉํ•ด์„œ ํ‘ธ๋Š” ๋ฌธ์ œ์ด๋‹ค.
ํ’€๋‹ค๋ณด๋‹ˆ LinkedList๊ฐ€ ๋ชจ๋“  ์›์†Œ๋ฅผ ๋น„๊ตํ•ด ์ค„ ์ˆ˜ ์žˆ์–ด์„œ LinkedList๋กœ ๋ฐ”๊ฟจ๋‹ค.
์“ธ ์ˆ˜ ์žˆ๋Š” ๋ฉ”์„œ๋“œ๋„ ๋” ๋งŽ๊ณ  ์–ด์ฐจํ”ผ Queue๋„ ์ƒ์†ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ๊ฐ€ ์“ฐ๋Š” ๋ฉ”์„œ๋“œ๋„ ๋‹ค ์จ์„œ ๊ตฌํ˜„ํ•˜์˜€๋‹ค. ( ๋ฌผ๋ก  Queue๋„ ์•ˆ์จ๋„ ๋œ๋‹ค )
์—ฌ๊ธฐ์„œ๋Š” LinkedList๋ฅผ ์“ฐ๊ธฐ ์ „์— ๋ฌธ์ œ๋„ ๋ญ”๊ฐ€ ๋ฐ”๋กœ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜์ง€ ๋ชปํ–ˆ๊ณ  ์šฐ์„ ์ˆœ์œ„๋ฅผ ์ •ํ•ด์ฃผ๋Š” ๊ณณ์—์„œ ๋งŽ์ด ๋ฒ„๋ฒ…์˜€๋‹ค..
๊ทธ๋ž˜์„œ ์‹œ๊ฐ„์ด ์ข€ ๋“  .. ์•„์‰ฌ์šด ๋ฌธ์ œ๋‹ค.

ํƒœ๊ทธ: , , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ: