4466. 최대 성적표 만들기
문제)
당신은 N개의 과목에 대한 시험을 쳤다. 각 과목의 점수는 정수이고 만점은 100점이다.
성적표에는 이 중에서 정확히 K개의 과목을 선택하여 넣을 수 있다. 당신은 기왕이면 성적표에 나타나는 총점이 가장 크도록 성적표를 만들고 싶다.
최대로 만들 수 있는 총점은 몇점인지 구하여라.
[입력]
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 N,K(1≤K≤N≤100)이 공백 하나로 구분되어 주어진다.
두 번째 줄에는 N개의 정수가 공백 하나로 구분되어 주어진다. 각 정수는 0 이상 100이하이다.
[출력]
각 줄마다 "#T" (T는 테스트 케이스 번호)를 출력한 뒤, 성적표에 표시될 총점의 최댓값을 출력한다.
풀이)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
T = int(input())
for _ in range(T):
n, k = map(int, input().split())
li = list(map(int, input().split()))
for i in range(n): # 거품 정렬
for j in range(n - 1):
if li[j] < li[j + 1]:
li[j], li[j + 1] = li[j + 1], li[j]
total = 0
for i in range(k):
total += li[i]
print(f"#{_ + 1} {total}")
|
cs |
문제 출처 : https://swexpertacademy.com/main/main.do
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
※ SW Expert 아카데미는 원칙적으로 문제를 무단 복제하는 것을 금지합니다.
학습용으로 문제를 가져왔으나, 문제가 될 시 수정 및 삭제하겠습니다.
'Develop > Python + SWEA' 카테고리의 다른 글
[SW Expert Academy] 6190. 정곤이의 단조 증가하는 수 (0) | 2022.02.20 |
---|---|
[SW Expert Academy] 2805. 농작물 수확하기 (0) | 2022.02.20 |
[SW Expert Academy] 1959. 두 개의 숫자열 (0) | 2022.02.19 |
[SW Expert Academy] 1970. 쉬운 거스름돈 (0) | 2022.02.19 |
[SW Expert Academy] 5431. 민석이의 과제 체크하기 (0) | 2022.02.19 |