본문 바로가기

algorithm/백준알고리즘

[백준알고리즘] 7568번: 덩치 -Python

728x90

[백준알고리즘] 7568번: 덩치 -Python

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

 

7568번: 덩치

우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x,y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x,y), (p,q)라고 할 때 x>p 그리고 y>q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. 예를 들어 어떤 A, B 두 사람의 덩치가 각각 (56,177), (45,165) 라고 한다면 A의 덩치가 B보다 큰

www.acmicpc.net

시험 끝난 기념으로 오랜만에 알고리즘을 풀어야지~라고 생각하고 쉬운 브포부터 건드려봤다.

이번 학기에 생각보다 코드를 많이 안 만져봐서 아쉬웠다 ㅠㅠ 다른 언어들도 건드려볼까 생각하고 있다.

 

앞에서도 말했듯이 이 문제는 브루트 포스 문제이다. 따라서 무작전 for문을 돌리면 간단하게 풀 수 있다. 입력 케이스만큼 입력받고 자신보다 몸무게와 키가 모두 큰 사람이 몇 개인지 세면 된다. 간단하당. 마지막에 +1로 등수만 해주면 된다.

 

코드는 아래처럼 했다. 간단해서 손풀기용으로~

 

import sys

sample_size = int(sys.stdin.readline())
array = []
result = []

for i in range(sample_size):
    height, weight = map(int, sys.stdin.readline().split())
    array.append([height, weight])

for i in range(sample_size):
    bigger = 0
    for j in range(sample_size):
        if i == j:
            continue

        if array[i][0] < array[j][0] and array[i][1] < array[j][1]:
            bigger += 1
    
    result.append(bigger + 1)

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

 

 

잘못된 점이나 부족한 점 지적해주시면 감사하겠습니다

728x90