PriorityQueue 3

[Java] 백준 1655번 : 가운데를 말해요

문제 https://www.acmicpc.net/problem/1655 1655번: 가운데를 말해요 첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 백준이가 외치는 정수가 차례대로 주어진다. 정수는 -1 www.acmicpc.net 풀이 과정 입력된 수를 최대힙과 최소힙에 나눠 저장해서 중간 값이 최대힙의 top에 있도록 했다. 최대힙은 값을 넣을 때, 음수로 넣어서 최소힙을 활용한 최대힙을 만들었다. 최대힙의 크기 >= 최소힙의 크기로 밸런스를 맞춰서 최대힙.peek()를 출력해주면 된다. 1. mid값보다 크면, 최소힙에 삽입 1-1. 최소힙의 크기 > 최대힙의 크기면, 최대힙.offer(최소힙.po..

[Java] 백준 2075번 : N번째 큰 수

문제 https://www.acmicpc.net/problem/2075 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net 풀이 과정 가장 큰 값만 넣기 위해 가장 아래의 row값들을 PriorityQueue에 넣었다. N-1개를 꺼내면서 꺼낸 값의 앞 row에 있는 값을 또 넣어주며, N번째로 큰 수를 찾았다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.PriorityQueue; import java.util.Str..

[Java] 백준 2665번 : 미로만들기*

1. 문제 https://www.acmicpc.net/problem/2665 2665번: 미로만들기 첫 줄에는 한 줄에 들어가는 방의 수 n(1 ≤ n ≤ 50)이 주어지고, 다음 n개의 줄의 각 줄마다 0과 1이 이루어진 길이가 n인 수열이 주어진다. 0은 검은 방, 1은 흰 방을 나타낸다. www.acmicpc.net 2. 풀이 과정 1. 시작점에서 출발해서 bfs로 탐색한다. 2. PriorityQueue를 사용해서 변환 횟수가 적은 것부터 탐색하면, 해당 블럭마다 변환횟수가 가장 적은 경로로 탐색하게 되므로 도착점에 오는 순간 바로 종료한다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Prior..