n = int(input())
person = [[0] * 2 for i in range(n)]
answer = [1] * n # 순위 카운트
for i in range(n):
person[i][0], person[i][1] = map(int, input().split())
for i in range(n):
for j in range(n):
if person[i][0] < person[j][0] and person[i][1] < person[j][1]: # 자신보다 키 몸무게 클 경우에만
answer[i] += 1 # 카운트를 함
for i in range(n):
print(answer[i] , end=' ') # 출력
코드 설명
몸무게와 키를 저장하기 위한 person, 순위를 매기기 위한 answer 리스트를 선언한다.
완전 탐색을 위해 n 번씩 이중 반복문을 이용한다. 자신보다 키와 몸무게 둘다 큰 경우에는 카운트를 +1 하여준다.
저장된 값을 형식에 맞게 출력한다.
Point : 덩치가 큰 경우는 키와 몸무게가 모두 큰 경우이다. 순서대로 반복문을 진행하면서 앞에 있는 사람들 중 키와 몸무게가 큰 경우에만 1씩 증가시켜주면 정답을 구할 수 있다.
728x90
'SW개발 > 코딩테스트' 카테고리의 다른 글
[백준]1436번 영화감독 숌 - 완전 탐색 (0) | 2021.02.24 |
---|---|
[백준]1018번 체스판 다시 칠하기 - 완전 탐색 (0) | 2021.02.23 |
[백준]2231번 분해합 - 완전 탐색 (0) | 2021.02.21 |
[백준]2798번 블랙잭 - 완전 탐색 (0) | 2021.02.20 |
[백준]12865번 평범한 배낭 - DP (0) | 2021.02.19 |