-
[백준] 2075 N번째 큰 수ALGORITHM/BOJ 2021. 9. 26. 22:27
https://www.acmicpc.net/problem/2075
2021-09-26
1234567891011121314151617181920212223242526272829import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.PriorityQueue;import java.util.StringTokenizer;public class Main {public static void main(String[] args) throws Exception{BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));StringTokenizer st = new StringTokenizer(bf.readLine().trim());int N = Integer.parseInt(st.nextToken());PriorityQueue<Integer> pq = new PriorityQueue<>();st = new StringTokenizer(bf.readLine());for(int i = 0; i < N; i++) pq.add(Integer.parseInt(st.nextToken()));for(int i = 0; i < N-1; i++) {st = new StringTokenizer(bf.readLine());for(int j = 0; j < N; j++) {int num = Integer.parseInt(st.nextToken());if(pq.peek() < num) {pq.poll();pq.add(num);}}}System.out.println(pq.poll());}}cs #문제풀이
우선순위 큐 + 슬라이딩 윈도우
line 15) 맨 처음 입력 값은 그냥 받아서 일단 큐에서 넣는다.
line 20) 한 줄 씩 받으면서 현재 있는 큐에 있는 값(N만큼 있음) 중에 가장 앞에 있는 값이랑 새로 들어오는 값이랑 비교한다.
만약, 새로 들어오는 값이 현재 값보다 크다면 현재 값을 poll 해주고, 새로운 값을 큐에 넣어준다.
'ALGORITHM > BOJ' 카테고리의 다른 글
[백준] 1992 쿼드트리 (0) 2021.09.29 [백준] 2470 두 용액 (0) 2021.09.26 [백준] 10159 저울 (0) 2021.08.31 [백준] 1717 집합의 표현 (0) 2021.08.14 [백준] 1074 Z (0) 2021.07.13