[๋ฐฑ์ค€] 13975 : - JAVA

Benjaminยท2023๋…„ 9์›” 14์ผ
0

BAEKJOON

๋ชฉ๋ก ๋ณด๊ธฐ
68/70

๐Ÿ™‹๐Ÿปโ€โ™€๏ธ ์šฐ์„ ์ˆœ์œ„ ํ ์‚ฌ์šฉ!

๊ณจ๋“œ4๋ผ์„œ ์กฐ๊ธˆ ์–ด๋ ต๊ฒ ๋‹ค ์ƒ๊ฐํ–ˆ๋Š”๋ฐ, ์•„๋‹ˆ๋‹ค.
์ƒ๊ฐํ•ด๋ณด๋ฉด, ํŒŒ์ผ์€ ๋ฌด์กฐ๊ฑด 2๊ฐœ์”ฉ ํ•ฉ์ณ์ง€๊ธฐ๋•Œ๋ฌธ์— ์–ด๋–ป๊ฒŒ ํ•ฉ์น˜๋“  ํšŸ์ˆ˜๋Š” ๊ณ ์ •์ด๋‹ค!
๋™์ผํ•œ ํšŸ์ˆ˜์— ์ตœ์†Œ๋น„์šฉ์„ ๊ตฌํ•˜๋ ค๋ฉด, ๊ฐ ํšŸ์ˆ˜๋งˆ๋‹ค ํ•ฉ์ด ์ตœ์†Œ๊ฐ€ ๋˜๋„๋กํ•˜๋ฉด๋œ๋‹ค.

๋”ฐ๋ผ์„œ ์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์ด์šฉํ•œ๋‹ค!

Troubleshooting

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

public class Main {
	
	static PriorityQueue<Integer> pq = new PriorityQueue<>();
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int T = Integer.parseInt(br.readLine());
		
		for(int i=0; i<T; i++) {
			int answer = 0;
			pq.clear();
			int K = Integer.parseInt(br.readLine());
			StringTokenizer st = new StringTokenizer(br.readLine());
			for(int j=0; j<K; j++) {
				pq.add(Integer.parseInt(st.nextToken()));
			}
			
			while(!pq.isEmpty()) {
				if(pq.size() == 1) { 
					break;
				}
				
				int sum = pq.poll() + pq.poll();
				answer += sum;
				pq.add(sum);
			}
			System.out.println(answer);
		}	
	}
}

๋ฌธ์ œ

ํ…Œ์ผ€๋Š” ํ†ต๊ณผํ–ˆ๋Š”๋ฐ, ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค๋ฅผ ๋ฐ›์•˜๋‹ค.

์›์ธ

ํƒ€์ž…์ด int์ธ๊ฒŒ ๋ฌธ์ œ์˜€๋‹ค! ๋ฒ”์œ„๋ฅผ ์ดˆ๊ณผํ•œ๋‹ค.

ํ•ด๊ฒฐ

int๊ด€๋ จ๋ถ€๋ถ„ long์œผ๋กœ ์ˆ˜์ •

์ œ์ถœ์ฝ”๋“œ

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

public class Main {
	
	static PriorityQueue<Long> pq = new PriorityQueue<>();
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int T = Integer.parseInt(br.readLine());
		
		for(int i=0; i<T; i++) {
			long answer = 0;
			pq.clear();
			int K = Integer.parseInt(br.readLine());
			StringTokenizer st = new StringTokenizer(br.readLine());
			for(int j=0; j<K; j++) {
				pq.add(Long.parseLong(st.nextToken()));
			}
			
			while(!pq.isEmpty()) {
				if(pq.size() == 1) { 
					break;
				}
				
				long sum = pq.poll() + pq.poll();
				answer += sum;
				pq.add(sum);
			}
			System.out.println(answer);
		}	
	}
}

์ฃผ์˜ํ•  ์ 

  • ์ œ๋ฐœ ์ฝ”ํ…Œํ’€ ๋•Œ, ํƒ€์ž…์ฃผ์˜ํ•˜์ž!!!! Long ํƒ€์ž…์œผ๋กœํ•˜์ž ์™ ๋งŒํ•˜๋ฉด

0๊ฐœ์˜ ๋Œ“๊ธ€