코드
import sys
input = sys.stdin.readline
n,m = map(int, input().split())
sequence = [] # 메달 수 기록
for _ in range(n):
sequence.append([*map(int, input().split())])
sequence.sort(key = lambda x: (-x[1], -x[2], -x[3])) # 내림차순 정렬
idx = 0 # 인덱스를 기록할 변수
for i in range(n):
if sequence[i][0] == m: # m이 나오는 인덱스 기록
idx = i
break
for i in range(n):
# 공동 i등이 나올 수 있는 것을 찾기 위해 필요한 과정.
# i가 아래부터 올라가므로 공동 기록 포함해서 찾아낼 수 있음
if sequence[i][1:] == sequence[idx][1:]: # 메달 기록은 1부터 시작하므로 슬라이싱
print(i+1) # 인덱스가 0부터 시작하므로 +1
break
공동 기록을 어떻게 찾을지 답을 못찾고 있다가 답을 참고해 해결했다. 인덱스를 찾고, 그 인덱스가 가지고 있는 메달 수와 같은 값을 for 문을 이용해 찾으면 되었다. 왜 저 과정이 필요하지했다가 이해하는 순간 깜짝 놀랐다. 아직 갈 길이 멀어보이지만, 부족함을 찾아내 조금씩 메울 때마다 행복을 느낀다.
'백준' 카테고리의 다른 글
[백준] 20040번 사이클 게임 파이썬 코드 (1) | 2024.01.25 |
---|---|
[백준] 14940번 쉬운 최단거리 파이썬 코드 (1) | 2024.01.25 |
[백준] 2292번 벌집 파이썬 코드 (0) | 2024.01.25 |
[백준] 10431번 줄세우기 파이썬 코드 (0) | 2024.01.24 |
[백준] 1647번 도시 분할 계획 파이썬 코드 (0) | 2024.01.22 |