카테고리 없음
[Algorithm] 백준_덩치_7568번 (JAVA)
dev_ajrqkq
2025. 3. 19. 20:01
📝문제
https://www.acmicpc.net/problem/7568
덩치 7568
티어: Silver 5
💡풀이
문제 유형
완전탐색
걸린 시간
20분
시간 복잡도
O(N^2)
풀이 방법 도출
- N의 최대 크기가 50이므로 완전탐색을 해도 시간초과 우려가 없다.
- 몸무게 배열 weight와 키 배열 height를 만들어주고
- 반복문을 돌려 현재 몸무게와 키를 구하고 이에 대해 한 번 더 반복문을 돌린다.
- 현재 몸무게와 키보다 큰 경우에만 카운트를 하고
- rank 배열에 현재의 등수를 넣어준다.
import java.util.*;
import java.io.*;
class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] weight = new int[N];
int[] height = new int[N];
int[] rank = new int[N];
StringTokenizer st;
for(int i = 0; i < N; i++){
st = new StringTokenizer(br.readLine());
int x = Integer.parseInt(st.nextToken());
int y = Integer.parseInt(st.nextToken());
weight[i] = x;
height[i] = y;
}
for(int i = 0; i < N; i++){
int x = weight[i];
int y = height[i];
int k = 0;
for(int j = 0; j < N; j++){
if(i == j) continue;
if(weight[j] > x && height[j] > y){
k++;
}
}
rank[i] = k+1; //덩치 등수
}
StringBuilder sb = new StringBuilder();
for(int n : rank){
sb.append(n).append(" ");
}
System.out.println(sb);
}
}
🤔Review
부르트포스, 완전탐색, 1초에 1억번 실행...