DHistory
[Baekjoon] Sort - 8979 올림픽 본문
문제
8979번: 올림픽
입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각
www.acmicpc.net
풀이
import sys
n, k = map(int, sys.stdin.readline().rstrip().split())
scores = []
for _ in range(n):
no, g, s, b = map(int, sys.stdin.readline().rstrip().split())
scores.append([no, g, s, b])
def solution(scores, k):
ranks = [0] * n
rank = 1
scores = sorted(scores, key=lambda x: (-x[1], -x[2], -x[3], x[0]))
ranks[scores[0][0] - 1] = rank
for i in range(1, len(scores)):
rank += 1
if scores[i - 1][1:] == scores[i][1:]:
ranks[scores[i][0] - 1] = ranks[scores[i - 1][0] - 1]
else:
ranks[scores[i][0] - 1] = rank
return ranks[k - 1]
print(solution(scores, k))
채점 결과
'Computer Science > Algorithm' 카테고리의 다른 글
[Baekjoon] Sort - 5800 성적 통계 (0) | 2023.09.08 |
---|---|
[Baekjoon] Sortt - 11931 수 정렬하기 4 (0) | 2023.09.08 |
[Baekjoon] 11728 - 배열 합치기 (0) | 2023.09.08 |
[Baekjoon] Sort - 11004 K 번째 수 (0) | 2023.09.08 |
[Baekjoon] Sort - 10815 숫자 카드 (0) | 2023.09.08 |