최대 이익값을 반환하기 위해 주어진 과일 점수를 높은순으로 정렬하고,
앞에서 m개씩 끊어가며 규칙에 따른 해당 박스의 이익을 answer에 누적한다.
단, 마지막 박스에 m개가 가득 차지 않을 경우 연산을 수행하지 않기 위해서
while문으로 중단 조건을 선제시해준다.
def solution(k,m,score):
answer=0
start, end = 0, m
score.sort(reverse=True)
while (len(score[start:end]) == m):
answer += (min(score[start:end])*m)
start += m
end += m
return answer
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'코딩테스트 연습' 카테고리의 다른 글
[파이썬] 프로그래머스: 파일명 정렬 / 정규식, split, 구분자유지 (0) | 2023.03.21 |
---|---|
[파이썬] 프로그래머스: 카드뭉치 (0) | 2023.03.21 |
[파이썬] 프로그래머스: 삼총사 / 조합 (0) | 2023.03.20 |
[알고리즘]DFS, BFS 연습문제 (0) | 2023.03.15 |
[python/C++] 가장 큰 정사각형 찾기 / 동적 프로그래밍(DP) (0) | 2023.03.11 |