응애개발자
article thumbnail
728x90

문제

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

 

접근 방법

  1. 나를 기준으로 몸무게와 키 둘 다 큰 사람은 나보다 덩치가 큰 사람입니다.
  2. 따라서 나를 1순위라고 가정했을때 나보다 덩치가 큰사람이 있으면 +1 씩 해주면 됩니다.
  3. 만약 나보다 덩치가 큰 사람이 없으면 나는 자동으로 1 순위가 됩니다.
  4. 이것을 완전 탐색으로 풀어도 N^2 ( 50*50)이기 때문에 완전탐색으로 풀어줍니다.

코드

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

public class Main {
    private static StringBuilder sb;
    private static BufferedReader br;
    private static StringTokenizer st;
    private static int N;
    private static int[][]arr;
    private static int rank = 1;

    //입력
    public static void input() throws Exception {
        br = new BufferedReader(new InputStreamReader(System.in));
        sb = new StringBuilder();

        N = Integer.parseInt(br.readLine());

        arr = new int[N][2];
        for(int i = 0 ; i < N ; i++){
            st = new StringTokenizer(br.readLine());
            for(int j = 0 ; j < 2 ; j++){
                arr[i][j] = Integer.parseInt(st.nextToken());
            }
        }
    }

    //실행
    public static void process() {
        for(int i = 0 ; i < N ; i++){
            int weight = arr[i][0];
            int height = arr[i][1];

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

                if(weight<arr[j][0] && height < arr[j][1]){
                    rank++;
                }
            }

            sb.append(rank).append(" ");
            rank = 1;
        }

        System.out.println(sb.toString());
    }


    public static void main(String[] args) throws Exception {
        input();
        process();
    }
}
profile

응애개발자

@Eungae-D

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!