해당 문제를 잘못읽으면 학교 석차처럼 생각하고 문제를 풀게 됩니다.
ex) [[100, 100], [100, 50], [50, 40]] 이 주어졌다면 출력은 1 1 2가 되어야 합니다.
1 1 3 이라고 생각하신 분들은 해당 문제를 우리가 중고등학교 다닐 때 성적 석차와 같이 생각을 해서 그렇습니다.
해당문제는 다음과 같이 기술하고 있습니다.
이 말은 위에 주어진 케이스에서 마지막 사람보다 덩치가 큰 사람은 2명이기 때문에 출력이 1 1 2가 맞다는 의미입니다.
즉 학교 석차처럼 생각하고 푸시면 안되고 주어진 문장 그대로 해석해서 풀면 상당히 쉬운 문제가 됩니다.
따라서 코드를 보며 이해하시는게 좋을 것 같습니다. (코드가 무척이나 쉬워요. only 이중 for loop)
N = int(input())
info = [[] for _ in range(N)]
for i in range(N):
weight, height = map(int, input().split())
info[i] = [height, weight]
for idx1 in range(N):
cnt = 1
for idx2 in range(N):
if idx1 != idx2:
if info[idx1][0] < info[idx2][0] and info[idx1][1] < info[idx2][1]:
cnt += 1
print(f'{cnt}', end=' ')