[실버5]백준 7568번(덩치) - 코테공부 42일차(2025.03.11)
2025. 3. 11. 21:12
반응형



문제유형
브루트 포스 알고리즘
풀이 방법 도출 과정
1. 몸무게가 x 키가 y라고 하면 (x,y)가 있는데 몸집을 대고 등수를 구하는 문제
2. 하지만 x보다 크고 y보다 크면 몸집이 크다고 할 수 있음, 하지만 x보다 크지만 y보다는 작으면 그건 몸집이 크다고 할 수 없음 그 반대도 마찬가지임.
3. 이를 구현하고자 하는데 브루트포스적으로 풀어보도록 하겠다.
시간 복잡도
시간 복잡도는 a와 b를 구분하기 위해 for문을 중첩으로 쓰였기 때문에 O(N^2)이다. 그러나 N이 최악의 경우 50을 넘지 않기 때문에 시간복잡도에서 아무런 문제가 없다.
코드 및 간단설명
브루트 포스 알고리즘을 사용하여 풀었다.
N = int(input()) # 사람 수 입력
people = [list(map(int, input().split())) for _ in range(N)] # 몸무게와 키 입력
ranks = [] # 덩치 등수를 저장할 리스트
for i in range(N):
rank = 1 # 기본 등수는 1등
for j in range(N):
if i != j: # 자기 자신과 비교할 필요 없음
if people[j][0] > people[i][0] and people[j][1] > people[i][1]:
# 몸무게 & 키 모두 크면 등수 증가
rank += 1
ranks.append(str(rank)) # 등수를 문자열로 저장 (공백으로 출력하기 위함)
print(" ".join(ranks)) # 등수를 공백으로 구분하여 출력
반응형
'Coding Test (코딩 테스트)' 카테고리의 다른 글
[실버5]백준 1436번(영화감독 숌) - 코테공부 41일차(2025.03.10) (0) | 2025.03.10 |
---|---|
[실버5]백준 1181번(단어 정렬) - 코테공부 40일차(2025.03.06) (0) | 2025.03.06 |
[브론즈1]백준 28702번(FizzBuzz) - 코테공부 39일차(2025.03.05) (0) | 2025.03.05 |
[브론즈1]백준 11050번(이항 계수 1) - 코테공부 38일차(2025.03.04) (0) | 2025.03.04 |
[브론즈1]백준 2869번(달팽이는 올라가고 싶다) - 코테공부 37일차(2025.02.27) (0) | 2025.02.27 |