๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 13984_Contest Score

๋ฟŒ์•ผ._. 2025. 12. 2. 11:52
๋ฌธ์ œ(์ถœ์ฒ˜: https://www.acmicpc.net/problem/13984)

< Contest Score >

 

๋ฌธ์ œ ํ’€์ด 

 

์šฐ์„ ์ˆœ์œ„ ํ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ œ ํ’€์ด ์‹œ๊ฐ„์ด ์งง์€ ๋ฌธ์ œ๋ฅผ ์„ ํƒํ•ด์„œ ํ‘ผ๋‹ค. 

ํŽ˜๋„ํ‹ฐ ์‹œ๊ฐ„ = ๋ชจ๋“  ๋ฌธ์ œ์˜ ์ œ์ถœ ์‹œ๊ฐ„์„ ํ•ฉํ•œ ๊ฐ’

 

my solution (Java)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.PriorityQueue;
import java.util.StringTokenizer;

public class _13984_ { // Contest Score

	public static void main(String[] args) throws IOException {
		BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(bf.readLine());

		int n = Integer.parseInt(st.nextToken());
		int k = Integer.parseInt(st.nextToken());

		PriorityQueue<Integer> queue = new PriorityQueue<>();
		long result = 0, time = 0;

		for (int i = 0; i < n; i++) {
			int t = Integer.parseInt(bf.readLine());

			queue.add(t);
			if (queue.size() == k) {
				time += queue.poll();

				result += time;
			}
		}
		while (!queue.isEmpty()) {
			time += queue.poll();
			result += time;
		}
		System.out.println(result);
	}
}
๋ณ€์ˆ˜)
n, k : ๋ฌธ์ œ ์ˆ˜, ๊ธฐ์–ตํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ ์ˆ˜
queue : ์šฐ์„ ์ˆœ์œ„ ํ
result, time : ํŽ˜๋„ํ‹ฐ ์‹œ๊ฐ„, ๋ฌธ์ œ ์ œ์ถœ ์‹œ๊ฐ„
t : ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„ 

 

๋ฌธ์ œ ์ˆ˜์™€ ํ•œ ๋ฒˆ์— ๊ธฐ์–ตํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›๋Š”๋‹ค. ๋ฌธ์ œ ์ˆ˜๋งŒํผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์„ ์ž…๋ ฅ๋ฐ›์œผ๋ฉฐ queue์— ์ €์žฅํ•œ๋‹ค. ์ด๋•Œ, queue์˜ size๊ฐ€ k์™€ ๊ฐ™๋‹ค๋ฉด queue์—์„œ poll ํ•˜์—ฌ ๋ฌธ์ œ ์ œ์ถœ ์‹œ๊ฐ„์„ ๊ตฌํ•œ ํ›„ ํŽ˜๋„ํ‹ฐ ์‹œ๊ฐ„์— ๋”ํ•œ๋‹ค. ์ตœ์ข… queue๊ฐ€ ๋นŒ ๋•Œ๊นŒ์ง€ poll ํ•˜์—ฌ ๋ฌธ์ œ ์ œ์ถœ ์‹œ๊ฐ„์„ ํŽ˜๋„ํ‹ฐ ์‹œ๊ฐ„์— ๋”ํ•œ๋‹ค.

 

์ตœ์ข… result๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.



 

'๐ŸŒžAlgorithm > ๐Ÿ”ฅBaekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Baekjoon] 4649_Tanning Salon  (0) 2025.12.01
[Baekjoon] 5006_Horror List  (0) 2025.11.19
[Baekjoon] 26111_Parentheses Tree  (0) 2025.11.18
[Baekjoon] 11254_Hydraulic Arm  (0) 2025.11.17
[Baekjoon] 5957_Cleaning the Dishes  (0) 2025.11.14