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를 하나씩 더한다.
'백준' 카테고리의 다른 글
[백준] 11650번 파이썬 (좌표 정렬하기) (0) | 2024.03.17 |
---|---|
[백준] 10814번 파이썬 (나이순 정렬) (0) | 2024.03.17 |
[백준] 2751번 파이썬 (수 정렬하기 2) (0) | 2024.03.13 |
[백준] 1676번 파이썬 (팩토리얼 0의 개수) (0) | 2024.03.12 |
[백준] 1436번 파이썬 (영화감독 숌) (0) | 2024.03.12 |