728x90
1. 문제
2. 풀이
우선순위큐를 이용해서 오름차순 정렬했다.
한 번에 두 요소씩 뽑아서 합친 결과를 1)answer에 더하고 2) pq에 offer했다.
마지막에 answer를 출력한다.
import java.io.*;
import java.util.*;
public class BOJ_1715_카드정렬하기 {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(in.readLine());
PriorityQueue<Integer> pq = new PriorityQueue<>();
for(int i=0;i<N;i++){
pq.offer(Integer.parseInt(in.readLine()));
}
int answer = 0;
int tmp;
while(pq.size()>1){
tmp = pq.poll()+pq.poll();
answer += tmp;
pq.offer(tmp);
}
System.out.println(answer);
}
}
3. 결과
'코딩테스트 > BOJ' 카테고리의 다른 글
[BOJ] 1062 가르침 - JAVA (0) | 2023.02.12 |
---|---|
[BOJ] 2161 카드1 - JAVA (0) | 2023.02.10 |
[BOJ] 1068 트리 - JAVA (0) | 2023.02.08 |
[BOJ] 1963 소수경로 - JAVA (0) | 2022.12.17 |
[BOJ] 13398 연속합2 - JAVA (0) | 2022.12.16 |
댓글