본문 바로가기

코딩테스트/Python

[프로그래머스] 위클리 챌린지 6주차 복서 정렬하기

내 코드

def solution(weights, head2head):
    answer = []
    
    for i in range(len(weights)):
        win=win_count=game=0
        for j,h in enumerate(head2head[i]):
            if h=="W":
                win+=1
                win_count+= 1 if weights[i] < weights[j] else 0
            game+=1 if h!="N" else 0
        win = win/game if game!=0 else 0
        answer.append([i+1,win,win_count,weights[i]])
    return [i[0] for i in sorted(answer,key=lambda x:(-x[1],-x[2],-x[3],x[0]))]

answer list에 자신의 번호, 이긴 승률, 자신보다 몸무게가 무거운 복서를 이긴 횟수, 자기 몸무게를 저장하여 sort해주었다.

위클리 챌린지가 방금 올라와서 다른사람 코드는 별로 없어서 오늘은 리뷰가 없다!ㅎㅎ