본문 바로가기
백준

[백준] 7568번 파이썬 (덩치)

by 헤이즐넛 좋아하는 개발자 2024. 3. 13.

1. 문제와 예제

문제
예제

얼핏 보고 sorted를 사용해야 하나 했지만 등수가 동등한 사람들이 나올 수 있는 것으로 보아 다른 방법이 좋겠다고 판단했다. 결국 한 사람을 기준으로 잡고 다른 모든 사람과의 대소를 비교해야 등수를 구할 수 있기 때문에 브루트포스 알고리즘을 사용하면 되겠다.


2. 코드

import sys
input = sys.stdin.readline

N = int(input().rstrip())
lst = []

# ex. lst = [(55, 185), (58, 183), (88, 186), (60, 175), (46, 155)]
for _ in range(N):
    x, y = map(int, input().split())
    lst.append((x, y))

for i in lst:
    rank = 1
    for j in lst:
        if (i[0] < j[0] and i[1] < j[1]):
            rank += 1
    print(rank, end=" ")

3. 풀이

i의 rank를 구해서 출력하는 과정을 반복한다. i를 기준으로 하고 lst의 요소들을 하나하나 비교해서 i보다 큰 덩치의 사람을 찾을 때마다 rank를 하나씩 더한다.