https://www.acmicpc.net/problem/8979
8979번: 올림픽
입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각
www.acmicpc.net
(python)
파이썬에서 제공하는 sort 를 활용하여 간단하게 해결해볼 수 있습니다.
https://jamong-5.tistory.com/55
[sort] 파이썬에서 커스텀한 기준으로 이터러블한 객체 정렬하기
key 파이썬에서 제공하는 sorted 기능은 key 파라미터로 커스텀한 기준을 부여하여 정렬할 수 있습니다. 파이썬 sort 관련 독스에서도 이를 확인할 수 있습니다. https://docs.python.org/ko/3/howto/sorting.html#k
jamong-5.tistory.com
sort 후에 등수 계산을 잘 처리해주면 되는 문제입니다.
금은동 갯수가 똑같은 경우, 같은 등수로 처리하고 뒤에 등수를 비워주어야 하는 조건을 잘 처리해줍시다.
def solution(input) :
# 입력 받기
N,K = list(map(int,input().split()))
country = []
for _ in range(N) :
country.append(list(map(int, input().split())))
# 커스텀 정렬
country.sort(key=lambda x: (x[1]*-1, x[2]*-1, x[3]*-1))
# 등수 계산
i = 0
s = 0
for n in range(N) :
i+=1
if n == 0 :
if country[n][0] == K :
print(i)
return
continue
if country[n][1:] == country[n-1][1:] :
i-=1
s+=1
elif s > 0 :
i+=s
s=0
if country[n][0] == K :
print(i)
return
solution(input)
'Algorithem > 백준 PS with code' 카테고리의 다른 글
백준 #14890 - [G3] 경사로 : 구현 (0) | 2023.05.23 |
---|---|
백준 #15683 - [G4] 감시 : 시뮬레이션, back tracking (0) | 2023.05.23 |
백준 #20040 - [G4] 사이클 게임 : 그래프사이클, 유니온파인드 (0) | 2023.05.21 |
백준 #19236 - [G2] 청소년 상어 : 구현, back tracking (0) | 2023.05.20 |
백준 #14502 - 연구소 : 구현, 그래프 탐색 (0) | 2023.05.19 |