sm 기술 블로그

77. 7568(덩치) 본문

문제/백준_파이썬

77. 7568(덩치)

sm_hope 2022. 6. 11. 10:01
N = int(input())

person = []
result = ""

for i in range(N):
    person.append(list(map(int, input().split())))

for j in range(N):
    cnt = N
    for k in range(N):
        if(person[j][0] >= person[k][0] or person[j][1] >= person[k][1]):
            cnt -= 1
    result += str(cnt+1) + " "
    # 자기자신도 비교하기 때문에 + 1을 해줌 (조건식을 써도 되지만 +1 하는게 더 빠름)
print(result)

문제 요약

몸무게와 키가 크면 더 덩치가 크고 순위가 높다. 둘 중 하나만 크면 높다고 할 수 없다. 

브루트스 파트로 전체를 다 비교하도록 하자.

A와 B를 비교 했을 때 A는 키가 B보다 더 크지만 몸무게는 B보다 덜 나간다.

그래서 둘의 덩치는 비교할 수 없다.

반면 A와 C를 비교 했을 때 C의 키와 몸무게가 A보다 크기 때문에 비교가 가능하고 C의 순위가 더 높다.

설명

전체 순위는 사람 수 만큼(N)으로 지정한다.

몸무게와 키가 자신보다 더 작으면 순위가 상승한다. (cnt-=1)

만약 몸무게와 키가 자신보다 더 크다면 순위는 상승 할 수 없다. (if문 만족 x)

자기 자신도 비교하기 때문에 순위가 한 단계 상승한다 => +1을 통해 순위를 낮춰준다.

 

 

 

'문제 > 백준_파이썬' 카테고리의 다른 글

79. 1436(영화감독 숌)  (0) 2022.06.12
78.1018(체스판 다시 칠하기)  (0) 2022.06.11
76. 2231 (분해합)  (0) 2022.06.09
75. 2798(블랙잭)  (0) 2022.06.08
74. 11729(하노이 탑 이동 순서)  (0) 2022.06.08
Comments