프로그래머스 코딩테스트/Python

프로그래머스 과일 장수 Python

Coding-Su 2024. 6. 28. 15:47
728x90
def solution(k, m, score):
    answer = 0
    score.sort(reverse = True)
    sameBox = []
    while(len(score) >= m):
        box = []
        for i in range(0, m):
            box.append(score[0])
            score.pop(0)
        answer += min(box) * m * 1
    return answer

24개중 5개가 시간초가가 나왔다..ㅠㅠ

 

정답

def solution(k, m, score):
    answer = 0
    score.sort(reverse = True)
    sameBox = []
    k = 0
    while(len(score) >= k+m):
        box = []
        for i in range(k, k+m):
            box.append(score[i])
        k += m
        answer += min(box) * m * 1
    return answer

그래서 연산 속도를 줄이기 위해 pop연산을 없애고 k변수가 이동하면서 box에 저장하도록 하였더니 성공하였다.

728x90