def solution(k, m, score):
answer = 0
box_lst = []
score.sort()
while len(score) >= m:
apple_lst = []
for i in range(m):
a = score.pop()
apple_lst.append(a)
answer += min(apple_lst) * len(apple_lst)
return answer
풀고 나서 다른 사람의 풀이를 보고 현타가 왔다.. 그래서 공부 할 겸 코드 분석
1. 익명의 고수(1)
def solution(k, m, score):
return sum(sorted(score)[len(score)%m::m])*m
오름차순으로 정렬 된 리스트들을 문자열 슬라이스를 통해 개수만큼 짜르되 박스들의 최소값들의 리스트들의 합 * 박스의 개수 를 반환해준다.
2. 익명의 고수(2)
solution = lambda _, m, s: sum(sorted(s)[-m::-m]) * m
잊고 있던 람다함수에 대해 다시 알게 된 풀이 위 풀이와 비슷하지만 신박해서 가져와봤다.
람다함수 -> (lambda x,y: x + y)(10, 20) 과 같이 익명함수로 쓰인다.
'Programmers' 카테고리의 다른 글
[Programmers / Python 풀이] 푸드 파이트 대회 (0) | 2023.01.02 |
---|---|
[Programmers / Python 풀이] 모의고사 (0) | 2022.12.27 |
[Programmers / Python 풀이] 기사단원의 무기 (0) | 2022.12.26 |
[Programmers / Python 풀이] 명예의 전당(1) (0) | 2022.12.26 |
[Programmers / Python 풀이] 문자열 나누기 (0) | 2022.12.22 |