덩치

곽지욱·2024년 4월 5일

BOJ

목록 보기
57/69

백준 7568번 : 덩치

알고리즘

  • 이 문제에서 덩치가 크다의 기준은 키와 몸무게 모두 상대방보다 클 때를 말한다.
    or 아니라 and 인것.

  • 당연히 키와 몸무게를 담는 2차원 배열을 생성한 뒤, 이중 반복문을 이용하여 각 배열의 인덱스를 모두 탐색하는 방법이다.

  • rank = 1 부터 시작하여 해당 사람보다 덩치가 큰 사람이 있을 경우 해당 사람의 rank 를 증가시켜 주면 된다.

  • 왜냐하면 해당 문제에는 공동 'N등' 이 존재함


import java.util.Scanner;

public class Better_Physical {
    public static void main(String[] args) {


        Scanner sc = new Scanner(System.in);

        int N = sc.nextInt();

        int[][] arr = new int [N][2];

        for(int i = 0; i<N; i++){

            arr[i][0] = sc.nextInt();
            arr[i][1] = sc.nextInt();
        }
        //[0,0],[0,1]은 같은 사람 비교해야 하는 사람은??

        //[1,0],[1,1]인 사람하고 비교해 함

        for (int i = 0; i<N; i++){
            int rank = 1;
            for (int j = 0; j<N; j++){
                if(i==j) continue;
                if (arr[i][0]<arr[j][0] && arr[i][1] < arr[j][1]){
                    rank ++;
                }
            }


/*            3
            55 185 = 0,0 / 0,1
            58 183 = 1,0 / 1,1
            88 186 = 2,0 / 2,1

            0,0 < 1,0 && 0,1 < 1,1 = !! 유지
            0,0 < 2,0 & 0,1 < 2,1 = 1번 남자 랭크 1 증가
            1,0 < 2,0 & 1,1 < 2,1 = 2번 랭크 1 증가
            2,0 < 2,0 = if조건에서 걸려서 반복문 종료

            정답은 2 2 1





            */

            System.out.print(rank + " ");
        }




    }
}

0개의 댓글