Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
관리 메뉴

으하하 공부일기

[SWEA] - 4466. 최대 성적표 만들기 (D3) 본문

SWEA/D3

[SWEA] - 4466. 최대 성적표 만들기 (D3)

0으하하0 2022. 5. 11. 17:02

[문제]

당신은 N개의 과목에 대한 시험을 쳤다. 각 과목의 점수는 정수이고 만점은 100점이다.
성적표에는 이 중에서 정확히 K개의 과목을 선택하여 넣을 수 있다. 당신은 기왕이면 성적표에 나타나는 총점이 가장 크도록 성적표를 만들고 싶다.
최대로 만들 수 있는 총점은 몇점인지 구하여라.

[입력]
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 N,K(1≤K≤N≤100)이 공백 하나로 구분되어 주어진다.
두 번째 줄에는 N개의 정수가 공백 하나로 구분되어 주어진다. 각 정수는 0 이상 100이하이다.

[출력]
각 줄마다 "#T" (T는 테스트 케이스 번호)를 출력한 뒤, 성적표에 표시될 총점의 최댓값을 출력한다.

문제 풀기

4466. 최대 성적표 만들기

 


[풀이]

import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;

class Solution {	
	public static void main(String[] args) throws Exception {
		Scanner sc = new Scanner(System.in);
		
		int t = sc.nextInt();
		
		for(int tc=1; tc<=t; tc++) {
			int n = sc.nextInt();
			int k = sc.nextInt();
			
			Integer score[] = new Integer[n];
			
			for(int i=0; i<n; i++) score[i] = sc.nextInt();
			
			Arrays.sort(score, Collections.reverseOrder());
			
			int sum = 0;
			for(int i=0; i<k; i++) sum += score[i];
			
			System.out.format("#%d %d\n", tc, sum);
		}
	}
}