본문 바로가기

프로그래밍_백준/Java

Java) 7568번 덩치

728x90
반응형

 

백준 덩치 문제는 덩치 등수를 측정하는 문제입니다.

 

자신보다 몸무게, 키가 크면 rank를 증가시키고

이를 출력하는 구조로 구현하였습니다.

 

import java.util.Scanner;

public class Main{
    public static void main(String[] args) {
        Scanner sc= new Scanner(System.in); // 스캐너 객체 생성
        int N; // 사람의 수를 저장할 변수 N 선언
        N=sc.nextInt(); // 사용자로부터 사람의 수를 입력받음

        int [][] weight_height=new int[N][2]; // 사람의 수에 맞게 2차원 배열 생성. 각 행은 개개인을, 열은 그 사람의 몸무게와 키를 나타냄

        for (int i=0;i<N;i++){ 
            weight_height[i][0]=sc.nextInt(); // 각 사람의 몸무게 입력 받음
            weight_height[i][1]=sc.nextInt(); // 각 사람의 키 입력 받음
        }
        
        for (int i=0; i<N; i++){ 
            int rank=1; // 초기 등수는 1등으로 설정. 이후 자신보다 덩치가 큰 사람이 있을 경우 등수가 밀림
            
            for (int j=0;j<N;j++){ 
                if(i==j){ 
                    continue;  // 자기 자신과 비교하는 경우는 제외
                }
                
                if(weight_height[i][0]<weight_height[j][0]&&weight_height[i][1]<weight_height[j][1]){
                    rank++;   // 만약 다른 어떤 j번째 사람이 i번째 사람보다 몸무게와 키 모두에서 크다면, 등수(rank)를 하나 증가시킴.
                }
            }
            
            System.out.print(rank+" ");   // 계산된 등수 출력. 이것은 해당 순서의 인덱스에 위치한 개체가 얼마나 많은 수의 다른 개체들로부터 "덩치"에서 밀려나는지 보여줍니다.
            
        }
        
        sc.close();   // 스캐너 종료
    }
}

 

2차원 배열을 정렬하는 방법은

728x90
반응형