cowme97   2년 전

n = int(input())
arr = []
for _ in range(n): arr.append(list(map(int, input().split())))
arr_num = [0 for i in range(n)]
ans = [1 for i in range(n)]

for i in range(n):
    for j in range(n):
        if arr[i][0] > arr[j][0] and arr[i][1] > arr[j][1]:
            arr_num[i] += 1

for i in range(n):
    for j in range(n):
        if arr_num[i] < arr_num[j]:
            ans[i] += 1

    print(ans[i], end=" ")

질문게시판 반례 전부 시도해봤는데 다 제대로 나오네요...
뭐가 문제인지 알려주시면 정말 감사할 것 같습니다

djm03178   2년 전

반례입니다.

cowme97   2년 전

3 3 3 1 3 3 3 1이 맞지 않나요...? 예제에서도 2 2 1 2 3이 아닌 2 2 1 2 5로 정답을 나타내고 있어서요

djm03178   2년 전

예제의 마지막 사람은 자신보다 덩치가 큰 사람이 4명이니까 5등이 맞습니다.

이 반례에서의 1,2,3번 사람은 자신보다 덩치가 큰 사람이 4번뿐이고, 5,6,7번 사람은 자신보다 덩치가 큰 사람이 8번뿐이니까 각각 2등이 되어야 합니다.

cowme97   2년 전

덕분에 맞췄습니다 감사합니다!!

댓글을 작성하려면 로그인해야 합니다.