-
[BOJ - JAVA] 7568 - 덩치(브루트포스) 본문
728x90
반응형
# 주소
https://www.acmicpc.net/problem/7568
# 문제
# 문제 해설 및 코드 리뷰
import java.util.*;
public class Main{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int[] weight = new int[n];
int[] tall = new int[n];
for(int i = 0; i < n; i++) {
weight[i] = scan.nextInt();
tall[i] = scan.nextInt();
}
int rank;
int[] dp = new int[n];
for(int i = 0; i < n; i++){
rank = 1;
for(int j = 0; j < n; j++){
if(weight[j] > weight[i] && tall[j] > tall[i]) {
rank++;
}
}
dp[i] = rank;
}
for(int i = 0; i < n; i++)
System.out.println(dp[i]);
}
}
브루트포스 문제 중 가장 간단한 문제입니다.
일단 wieght와 tall 배열(각각 무게와 키)를 int타입으로 선언하고 Scanner를 통해 입력받습니다.
이후 rank의 값을 dp[]에 저장하며 각각의 등급을 측정하는 문제입니다.
브루트포스는 대부분 이중for문 또는 while을 사용해서 푸는 경우가 많으므로 숙지합니다.
rank는 for문이 한 번 끝날 때마다 1로 선언합니다.
그리고 해당 weight[i]와 tall[i]보다 큰 인덱스j값이 존재한다면 rank를 증가시킵니다.
그리고 rank를 dp의 해당 인덱스에 넣고 계속해서 for문을 실행합니다.
이 문제의 핵심은 무게와 키가 다를지라도 둘 다 크거나 둘 다 낮을때만 덩치의 등급이
나뉜다는 것을 숙지하고 있으면 해결할 수 있으실거라 생각합니다.
출력문도 정상적으로 출력되는 것을 확인할 수 있습니다.
감사합니다.
728x90
반응형
'백준 문제 풀이' 카테고리의 다른 글
[BOJ - JAVA] 12015 - 가장 긴 증가하는 부분 수열2(이분 탐색) (0) | 2021.10.15 |
---|---|
[BOJ - JAVA] 3040 - 백설 공주와 일곱 난쟁이(브루트포스, 백트래킹) (0) | 2021.10.13 |
[BOJ - JAVA] 2798 - 블랙잭(브루트포스, 백트래킹) (0) | 2021.10.11 |
[BOJ - JAVA] 1932 - 정수 삼각형(다이나믹 프로그래밍) (0) | 2021.10.09 |
[BOJ - JAVA] 2529 - 부등호(bfs, 브루트포스) (0) | 2021.10.08 |
Comments