[Python] 알고리즘/Silver
[1900] 레슬러 (Python)
-Becca-
2021. 11. 3. 21:01
[문제]
https://www.acmicpc.net/problem/1900
1900번: 레슬러
첫째 줄에 선수들의 수 N이 주어진다. 선수들은 1부터 N까지 번호가 붙어 있다. 다음 N개의 줄에는 한 줄에 한 선수의 힘과 그가 가진 마술 링의 힘이 주어진다. 선수 k의 정보는 k+1번째 줄에 주어
www.acmicpc.net
알고리즘 분류는 정렬 입니다.
이긴 횟수를 저장하고, 많이 이긴 순으로 정렬합니다.
[코드]
import sys
N = int(sys.stdin.readline())
player = list()
win = dict()
for i in range(N):
player.append(list(map(int, sys.stdin.readline().split())))
win[i] = 0
for i in range(N - 1):
for j in range(i, N):
a = player[i][0] + player[j][0] * player[i][1]
b = player[j][0] + player[i][0] * player[j][1]
if a > b:
win[i] += 1
elif a < b:
win[j] += 1
win = sorted(win.items(), key=(lambda x: x[1]), reverse=True)
for i in range(len(win)):
print(win[i][0] + 1)
(pypy3로 제출하여 완벽한 코드는 아닙니다.)