프로그래밍/코딩테스트 공부
[프로그래머스] 위클리 챌린지 6주차
진박사.
2021. 9. 8. 02:52
문제 : 복싱선수 정렬하기
def solution(weights, head2head):
answer = []
win_rate = [man.count('W')/(len(man)-man.count('N')) if len(man)-man.count('N') != 0 else 0 for man in head2head]
win_bigger_cnt = [len(["" for x, y in enumerate(man) if y == 'W' and weights[x] > weights[idx]]) for idx, man in enumerate(head2head)]
print(win_rate)
print(win_bigger_cnt)
print(weights)
return sorted(list(range(1,len(weights)+1)),key=lambda x: (-win_rate[x-1], -win_bigger_cnt[x-1], -weights[x-1], x))
후기 : list comprehension 풀 활용 + 람다식을 활용하여 sort 하는 기능을 잘 활용