hi jaeneee

2019 국가 교육기관 코딩테스트_큰 수의 법칙_python_[그리디] 본문

알고리즘/이것이 코딩 테스트다

2019 국가 교육기관 코딩테스트_큰 수의 법칙_python_[그리디]

ash silver 2023. 4. 17. 15:01

https://nearhome.tistory.com/22

 

[2019 국가 교육기관 코딩 테스트] 큰 수의 법칙 (파이썬)

문제 철수의 큰 수의 법칙은 다양한 수로 이루어진 배열이 있을 때 주어진 수들을 M번 더하여 가장 큰 수를 만드는 법칙이다. 단, 배열의 특정 인덱스(번호)에 해당하는 수가 연속해서 K번을 초과

nearhome.tistory.com

import sys
input = sys.stdin.readline

n, m, k = map(int, input().split())
li = list(map(int, input().split()))
li.sort(reverse=True)
i = 0
answer = 0
max = 0

while i < m:

    for g  in range(0, k):
        answer += li[0]
        i += 1
        if i >= m:
            break
    if i < m:
        answer += li[1]
        i += 1

print(answer)

PLUS

1) M만큼 더했는지 카운트

2) 첫 번째로 큰 숫자를 K만큼 더하고 

3) 두 번째로 큰 숫자를 한 번 더하고 2)로 돌아감

(1은 매 단계마다 확인하기)

Comments