🌞Algorithm/🔥Baekjoon

[Baekjoon] 2075_N번째 큰 수

뿌야._. 2023. 7. 13. 17:03

Silver II

문제(출처: https://www.acmicpc.net/problem/2075)

< N번째 큰 수 >

 

문제 풀이 

 

우선순위 큐를 사용해서 N번째 큰 수를 구한다.

 

 my solution (Java)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Collections;
import java.util.PriorityQueue;
import java.util.StringTokenizer;

public class _2075_ { // N번째 큰 수

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;

		int n = Integer.parseInt(bf.readLine());
		PriorityQueue<Long> queue = new PriorityQueue<>(Collections.reverseOrder());

		for (int i = 0; i < n; i++) {
			st = new StringTokenizer(bf.readLine());
			for (int j = 0; j < n; j++) {
				queue.add(Long.parseLong(st.nextToken()));
			}
		}

		long result = -1;
		for (int i = 0; i < n; i++) {
			result = queue.poll();
		}
		System.out.println(result);
	}
}

 

Main

변수)

queue : 우선순위 큐 (내림차순)

 

- n 입력

- n*n 만큼 입력받아 우선순위 큐에 저장

- n번째 큰 수를 구하기 위해 반복문을 사용해서 n만큼 반복하여 result 구함

- result 출력