https://www.acmicpc.net/problem/7568
7568번: 덩치
우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩
www.acmicpc.net
💡문제 분석 요약
몸무게와 키를 입력받고, 덩치 등수를 출력한다.
몸무게는 더 무거운데 키는 작거나, 몸무게는 가벼운데 키는 큰 경우는 덩치를 가릴 수 없으므로, 같은 등수로 출력한다.
💡알고리즘 설계
1. 사람들의 몸무게와 키 정보를 입력받는다.
2. 한 사람씩, 이 사람보다 키와 몸무게가 둘 다 큰 사람이 몇명인지 구하여 rank 리스트에 추가한다.
💡코드
import sys
input = sys.stdin.readline
N=int(input())
l=[]
rank=[]
for _ in range(N):
weight, heigth=map(int, input().split())
l.append([weight, heigth])
for i in range(N):
count=1
for j in range(N):
if l[i][0]<l[j][0] and l[i][1]<l[j][1]:
count+=1
rank.append(count)
for i in rank:
print(i)
💡시간복잡도
O(N^2)
💡 느낀점 or 기억할 정보
등수가 업데이트 될 때 마다 이전 사람들의 등수도 전부 수정하는 방법으로 생각했는데, 단순하게 자신보다 키와 몸무게가 둘 다 큰 사람의 명수를 구하면 되는 문제였다.
'알고리즘 문제 풀이' 카테고리의 다른 글
[백준 18429번] 근손실 - 파이썬 (0) | 2024.03.09 |
---|---|
[백준 13305번] 주유소 - 파이썬 (0) | 2024.03.02 |
[백준 2594번] 놀이공원 - 파이썬 (0) | 2024.02.23 |
[백준 1012번] 유기농 배추 - 파이썬 (0) | 2024.02.23 |
[백준 6603번] 로또 - 파이썬 (0) | 2024.02.17 |