첫번째 코드
def solution(k, m, score):
# score 내림차순 정렬
score_sorted = sorted(score, reverse = True)
total_price = 0
while len(score_sorted) >= m:
box_price = 0
min_price = 0
box = []
for i in range(m):
box.append(score_sorted[0])
del score_sorted[0]
min_price = min(box)
box_price = min_price * m
total_price += box_price
return total_price
결과 일부분에서 시간초과 발생
두번째 코드
같은 방법이지만 쓸데없는 리스트나 값을 제거하자!
def solution(k, m, score):
score.sort(reverse = True)
total_price = 0
while len(score) >= m:
total_price += min(score[:m]) * m
score = score[m:]
return total_price
동일하게 일부분에서 시간 초과 발생
세번째 코드
score을 계속 새로 만드는게 오랜 시간이 걸리는 것 같음
그렇기 때문에 score 하나에서 계속 반복해서 수행하는 코드를 작성하자!
def solution(k, m, score):
score.sort(reverse = True)
total_price = 0
for i in range(len(score)//m):
box = score[m*i : m*(i+1)]
total_price += box[-1]*m
return total_price
통과!
programmers/프로그래머스/1/135808. 과일 장수 at main · ornni/programmers
repository for recording Programmers Algorithm problem solving - ornni/programmers
github.com
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
콜라츠 추측 (0) | 2024.04.01 |
---|---|
콜라 문제 (2) | 2024.03.31 |
부족한 금액 계산하기 (1) | 2024.03.30 |
핸드폰 번호 가리기 (0) | 2024.03.29 |
명예의 전당 (1) (0) | 2024.03.27 |