[알고리즘/파이썬] 백준 7568번 - 덩치

2020. 5. 31. 15:42개발/알고리즘

 

 

 

 

백준에서 브루트포스로 분류된 알고리즘 문제를 풀어봤다. 브루트 포스는 모든 경우의 수를 다 확인해보는 방법.

 

 

https://www.acmicpc.net/problem/7568

 

7568번: 덩치

우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x,y)로 표시된다. 두 사람 A 와 B의 덩�

www.acmicpc.net

 

처음에는 뭣도 모르고 정렬해서 처리하려고 했는데, 등수가 판단 되지 않을경우는 동순위로 처리해야하기 때문에 아래와 같이 구현했다.  

 

# 입력 
persons_cnt = input()
person_list = []
for _ in range(int(persons_cnt)):
    a = input()
    person_list.append(a.split(' '))


answer = []
rank = 1

# i번째 사람 하나를 가져온다.
for i in range(len(person_list)):
    rank = 1
    
    # 전체를 순회하면서 i번째 사람보다 덩치가 큰사람은 몇명인지 확인.
    for j in range(len(person_list)):
        if person_list[i][0] < person_list[j][0] and person_list[i][1] < person_list[j][1]:
            rank += 1
            
    # i 번째 사람의 순위를 기록한다.
    answer.append(str(rank))

# 출력 
print(" ".join(answer))