백준 문제풀이

[백준]7568번

Dodledd 2024. 4. 29. 12:41

 

막상 푸는건 얼마 걸리지 않았는데 다 풀고나니 좀 어렵게 푼 느낌이 있다.

처음에 세팅을 2차원 배열로 해주고

등수를 저장하는 1차원 배열을 따로 만들어주었다.

자기자신을 검사하는 것을 막기위해 if(i != j)를 추가해주었다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class b7568 {
    public static void main(String[] args) throws IOException {
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st;
        int n = Integer.parseInt(bf.readLine());
        int[][] arr = new int[2][n];
        int[] result = new int[n];

        for(int i =0 ; i < n ; i++){
            st = new StringTokenizer(bf.readLine());
            arr[0][i] = Integer.parseInt(st.nextToken());
            arr[1][i] = Integer.parseInt(st.nextToken());
        }

        for(int i =0 ; i < n ; i++) {
           for(int j = 0 ; j < n ; j ++){
               if(i!=j){
                   if(arr[0][i] <arr[0][j] && arr[1][i] < arr[1][j]){
                       result[i]++;
                   }
               }
           }
            System.out.print((result[i]+1)+" ");
        }
    }
}