본문 바로가기
알고리즘

[백준] 덩치 [Java/자바]

by irerin07 2019. 9. 10.
728x90

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

코드:https://github.com/irerin07/AlgorithmStudyBaek/blob/master/src/baekjoon7568.java

 

import java.util.Scanner;

public class baekjoon7568 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int P[][] = new int[N][2]; //몸무게, 키
        for(int i=0;i<N;i++) {
            P[i][0] = sc.nextInt(); //몸무게
            P[i][1] = sc.nextInt(); //키
        }
        int[] ans = solution(N, P);
        for(int i = 0; i < ans.length; i++){
            System.out.print(ans[i] + " ");
        }
    }
    public static int[] solution(int n, int[][] p){
        int[] answer = new int[n];
        for(int i = 0; i < n; i++){
            answer[i] = 1;
        }
        for(int i = 0; i < n; i++){
            for(int j = 0; j < n; j++){
                if(p[i][0]>p[j][0] && p[i][1]>p[j][1]){
                    answer[j]++;
                }
            }
        }
        return answer;
    }
}

 

브루트포스 3번째 문제

키와 몸무게를 비교해서 순위를 매기는 문제.

 

A의 키와 몸무게가 B의 키와 몸무게보다 크다면 A는 B보다 큰 덩치를 가지고 있다고 한다.

 

A의 키는 B보다 크지만 A의 몸무게가 B의 몸무게보다 낮다면 둘은 같은 덩치를 가진 것으로 생각한다. 그 반대의 상황 역시 마찬가지.

 

A의 키와 몸무게가 B의 키와 몸무게보다 작다면 A는 B보다 작은 덩치를 가지고 있다고 한다.

 

 

"만일 자신보다 더 큰 덩치의 사람이 k명이라면 그 사람의 덩치 등수는 k+1이 된다"

위의 문장을 기반으로 브루트포스를 이용하여 각 인원의 키와 몸무게를 서로 비교하여 나보다 큰 덩치를 가진 사람이 있다면 순위를 +1씩 해주는 방식으로 풀었다.

728x90