본문 바로가기
Algorithm & SQL/BAEKJOON

백준 JAVA 1715 카드 정렬하기

by YoonJong 2022. 8. 1.
728x90

package BAEKJOON.Gold.Ⅳ;

import java.util.PriorityQueue;
import java.util.Scanner;

public class NO1715_2 {

    static int n;
    static int [] arr;
    // 우선순위 큐 사용
    // 작은 숫자부터 더해야 나가야한다.
    static PriorityQueue<Integer> Q = new PriorityQueue<>();


    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        n = sc.nextInt();

        arr = new int[n];
        for (int i = 0; i < n; i++) {
            arr[i] = sc.nextInt();
            Q.offer(arr[i]);
        }

        int total =0;
        // Q 사이즈가 1이면 출력
        while(Q.size() > 1) {
            int sum = 0;
            sum += Q.poll();
            sum += Q.poll();

            total += sum;

            Q.offer(sum);
        }
        System.out.println(total);
    }
}
728x90

'Algorithm & SQL > BAEKJOON' 카테고리의 다른 글

백준 JAVA 15903 카드 합체 놀이  (0) 2022.08.02
백준 JAVA 11286 절댓값 힙  (0) 2022.08.02
백준 JAVA 2075 N번째 큰수  (0) 2022.08.01
백준 JAVA 7568 덩치  (0) 2022.07.30
백준 JAVA 4673 셀프 넘버  (0) 2022.07.30

댓글