백준 - 카드 정렬하기(1715번) - Java

chaemin·2024년 4월 2일
0

백준

목록 보기
12/26

1. 문제

https://www.acmicpc.net/problem/1715

2. 풀이

2-1. ✨핵심 Point

  1. PriorityQueue를 써준다.
  1. while(PQ.size() != 1)이다.
    (A, B로 poll을 두번 해야하기 때문이다.)

3. 코드

import java.util.*;
import java.io.*;

public class Main{
    
    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        int N = Integer.parseInt(br.readLine());
        
        PriorityQueue<Integer> PQ = new PriorityQueue<>();
        
        for(int i = 0; i < N; i++){
            PQ.add(Integer.parseInt(br.readLine()));
        }
        
        int sum = 0;
        int result = 0;
        
        while(PQ.size() != 1){
            int A = PQ.poll();
            int B = PQ.poll();
            
            sum = A + B;
            result += sum;
            
            PQ.add(sum);
        }
        
        System.out.println(result);
    }
}

0개의 댓글

관련 채용 정보