Notice
Recent Posts
Recent Comments
Link
뮁이의 개발새발
[JAVA] 백준 1715번 카드 정렬하기 (우선순위 큐) 본문
골드 4라서 완전 쫄아있었는데 엥? 10분만에 풀어버렸다.. 골드 아닌듯.. 우선순위 큐 문제라는걸 알면 될 것 같다..
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.PriorityQueue;
public class bj1715 {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(in.readLine());
PriorityQueue<Integer> queue = new PriorityQueue<>(); // 우선순위 큐 선언
for (int i = 0; i < N; i++) {
queue.add(Integer.parseInt(in.readLine())); // 큐에 숫자 넣어쥼
}
int sum = 0;
while (!queue.isEmpty()) {
int a1 = queue.poll(); // 가장 첫번째꺼 꺼냄
if (queue.isEmpty()) { //만약 안에 하나만 남아있었으면 (다섞인 상태) => 반복문 탈출
break;
}
sum += a1; // 섞은 카드 수를 더해줌
int a2 = queue.poll(); // 그다음 큰 카드 꺼냄
sum += a2; // 섞은 카드 수를 더해줌
queue.add(a1 + a2); // 더한 카드를 큐에 추가
}
System.out.println(sum);
}
}
'Algorithm' 카테고리의 다른 글
[JAVA] 백준 17070 파이프 옮기기1 (DFS) (0) | 2021.09.25 |
---|---|
[JAVA] 백준 7576 토마토 (BFS) (0) | 2021.09.24 |
Floyd 알고리즘 이론 정리 (0) | 2021.09.16 |
[JAVA] SWEA 1263 사람 네트워크 2 (Floyd 알고리즘) (0) | 2021.09.16 |
[JAVA] 백준 2636,2638 치즈 (BFS, 완전탐색) (0) | 2021.09.15 |
Comments