해결
문제 그대로 구현하지 않아도 내림차순으로 정렬된 배열의 m번째 요소마다 과일 박스의 최소값을 구할 수 있을 것으로 보였고 아래와 같이 해결.
def solution(k, m, score):
answer = 0
score = sorted(score, reverse=True)
index = m - 1
while True:
if index >= len(score):
break;
answer += m * score[index]
index += m
return answer
다른 사람의 풀이에서 배운 점
해결한 후 반복문 없이 풀이한 아래와 같은 코드 발견.
def solution(k, m, score):
return sum(sorted(score)[len(score)%m::m])*m
배열의 m번째 요소들의 합이라는 생각을 했을 때부터 반복문없이 sum으로 충분히 풀 수 있는 문제였는데 아쉽다.
'Algorithm' 카테고리의 다른 글
[Programmers] 120814.py 피자 나눠 먹기 (1) (0) | 2023.06.08 |
---|---|
[Programmers] 138477.py 명예의 전당 (1) (0) | 2023.06.08 |
[Programmers] 132267.py 콜라 문제 (0) | 2023.06.03 |
[Programmers] 12981.py 영어 끝말잇기 (0) | 2023.05.31 |
[Programmers] 42885.py 구명보트 (0) | 2023.05.31 |