백준 - 덩치 / Silver 5 / 7568번 / Python

Young Hun Park·2022년 12월 1일
0

문제 📋

백준 - 덩치

풀이 📝

import sys

n = int(sys.stdin.readline())
people = []
rank = {}

for _ in range(n):
    people.append(list(map(int, sys.stdin.readline().split())))

for i in range(n):
    rank[i] = 1

for i in range(n):
    a_weight, a_height = people[i]

    for j in range(n):
        b_weight, b_height = people[j]

        if b_weight > a_weight and b_height > a_height:
            rank[i] += 1

for value in rank.values():
    print(value, end=' ')



입력으로 들어온 사람들의 덩치들을 대조하여 덩치 순위를 매기는 문제이다.
완전탐색으로 풀면 시간복잡도 O(N^2)으로 문제를 해결 할 수 있는데
N의 크기가 최대 50이기 때문에 완전탐색으로 문제를 풀었다.

몸무게와 키가 서로 같은 사람들이 있을 수도 있기 때문에 rank 라는 딕셔너리를 만들었으며 rank의 key 값으로 index를 value는 "해당 사람보다 덩치 큰 사람의 수" 로 정의했으며 초기값을 1로 설정했다.

profile
개발자에게 유용한 지식

0개의 댓글