파이썬 이것저것/코테준비
[Python] 프로그래머스 과일 장수
agingcurve
2023. 1. 1. 20:11
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/135808
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제풀이
def solution(k, m, score):
answer = []
n = 0
cycle=len(score) // m # 사이클 수
idx = m
ci = 1 # 순번
sort_score = sorted(score, reverse=True)
while True:
if cycle == 1: # 1번만 돌때는 바로 끝냄
price = calbox(k, m, sort_score, n)
answer.append(price)
break
if ci <= cycle:
price = calbox(k, m, sort_score, n)
answer.append(price)
n += idx
m += idx
ci += 1
else:
break
return sum(answer)
def calbox(k, m, score, n):
if m <= len(score):
applebox = score[n:m]
price = min(applebox) * len(applebox)
else:
applebox = score[m:len(score)]
price = min(applebox) * len(applebox)
return price