프로그래머스 lv1 과일 장수 파이썬
사과의 최대 점수 k, 한 상자에 들어가는 사과의 수 m, 사과들의 점수 score가 주어졌을 때, 과일 장수가 얻을 수 있는 최대 이익을 return하는 solution 함수를 완성해주세요.
처음에는 무조건 사과🍎 를 똑같이 담아야 하는 줄 알고..
dict()
를 사용했다가 정말 뒤늦게 알았다....
1. 어떻게 자를 것인가? 2. 어떻게 합칠것인가? 3. runtime 줄이는 방법 생각해보기. 4. 남는 사과는 버리고 , 이익이 발생하지 않는경우도 생각해보기.
처음엔 combinations
를 사용하려고 했다.
그치만 runtime
도 너무 길고... 이건 아닌것 같다 하다가 문득 지나간
sort()
함수..
def solution(k, m, score):
return sum(sorted(score)[len(score) % m: : m]) * m
sorted(x, reverse=True)
를 하는 방식도 있는데,
그러면 남는걸 버리는 방법을 쓰기가 까다로워져서 그대로 갔다.
합치는건 당연히 sum()
쓰기! 파이썬아 사랑해....^^~!
사실 k는 왜 주어졌는지 잘 모르겠다
오히려 k를 줬다는 점에서 헷갈렸음...왜준거지
요즘 노트에 정리하고 정리가 완벽해지면 코드를 치는 식으로 연습하는데..
진짜 sort 갑자기 생각난게 웃겨서 찍음..
커피 흘린 자국은 무시하도록 하자.