본문 바로가기

알고리즘

백준 7568)덩치 -python

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

 

7568번: 덩치

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

www.acmicpc.net

 

 

설명은 길었지만  짧게 요약하자면,

A 의[몸무게,키]

B 의[몸무게,키]

A의 몸무게와 키 둘 모두가 B의 그것와 크다면 A는 B보다 덩치가 크다 할 수 있다.

만일 둘 중 하나라도 작으면 A는 B보다 덩치가 크다고 할 수 없다.

 

핵심은 "A의 몸무게와 키 둘 모두가 B의 그것와 크다면 A는 B보다 덩치가 크다 할 수 있다"

이 문항이다.

즉 등수가 올라가는 경우는 몸무게와 키 모두가 상대보다 클 경우이고 그 외에 경우엔 등수가 올라가질 않는다.

 

a = int(input())

arr = []

for _ in range(a):
  b = list(map(int,input().split()))
  arr.append(b)

answer = [1 for _ in range(a)]


for i in range(len(arr)):
  for j in range(len(arr)):
    if i == j:
      continue
    if arr[i][0] < arr[j][0] and arr[i][1] < arr[j][1]:
     answer[i] += 1

for i in answer:
  print(i, end=" ")

완전탐색이라는 것에 충실하게 코드를 적었다.

 

answer라는 리스트에 입력받은 사람의 수 만큼 1로 채우고 

만일 i번째 사람이 i가 아닌 j번째 사람에 비해 키와 몸무게가 더 작다면 answer[i]의 등수를 +1 했다.