[프로그래머스] Lv.1 과일 장수 Python

콩이·2024년 1월 27일
0

코딩테스트 Python

목록 보기
6/13

📍 문제 설명

📍 풀이 point

1) 얻을 수 있는 최대 이익을 계산하기 위해서 점수가 높은 순서대로 사과를 정렬한다. 즉, score를 내림차순 정렬한다.

2) 내림차순으로 정렬된 사과를 m개씩 나누어 상자에 담는다.

3) 상자별로 최하점수와 개수를 곱하고 모두 더해 최대 이익을 계산한다.

def solution(k, m, score):
    sort_score = sorted(score,reverse=True)  # 내림차순 정렬
    
    box = []
    price = 0
    
    # 상자에 사과 m개씩 나누어 담기
    for i in range(0,len(sort_score)-m+1,m):
        box.append(sort_score[i:i+m])
    
    # 상자별로 이익 계산
    for i in box:
        price += min(i) * len(i)
        
    return price

다른 Lv.1에 비해 간단한 문제였던 거 같다.

0개의 댓글