-
[Programmers]위클리 챌린지 6주차: 복서 정렬하기(Python)/SortingProblem Solving/Programmers 2021. 9. 12. 13:11
https://programmers.co.kr/learn/courses/30/lessons/85002
파이썬의 람다를 이용해서 정렬을 간단하게 구현
파이썬의 sort함수는 C++과 다르게 기본적으로 stable sort를 지원한다
def solution(weights, head2head): answer = [] result=[[0, 0, weights[i], i+1] for i in range(len(weights))] for i in range(len(head2head)): head=head2head[i] win=0 tot=0 for j in range(len(head)): if head[j]=='N': continue if head[j]=='W': if weights[i]<weights[j]: result[i][1]+=1 win+=1 tot+=1 if tot!=0: result[i][0]=win/tot result.sort(key=lambda x: (-x[0], -x[1], -x[2], x[3])) return [r[3] for r in result]
'Problem Solving > Programmers' 카테고리의 다른 글
[Programmers]괄호 회전하기(Python)/Stack (396) 2021.09.26 [Programmers]다단계 칫솔 판매(Python)/Tree (430) 2021.09.12 [Programmers]2019 카카오 개발자 겨울 인턴십: 불량 사용자(Python)/Backtracking (423) 2021.09.07 [Programmers]프로그래머스 위장(Python)/Hashing (0) 2021.09.01 [Programmers]완주하지 못한 선수(Python)/Hashing (0) 2021.08.31