[백준_7568] 덩치 - JAVA

jm_25·2021년 12월 6일
0

알고리즘

목록 보기
29/40

문제 출처

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

풀이

  • 주어진 N의 크기가 크지 않으므로 브루트포스 알고리즘을 통해 해결할 수 있다.
  • 주어진 몸무게/키를 순서대로 모두 비교한다.

코드

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

public class Main {
    public static class Member {
        int weight;
        int height;

        public Member(int weight, int height) {
            this.weight = weight;
            this.height = height;
        }
    }

    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer stringTokenizer = new StringTokenizer(bufferedReader.readLine());
        int N = Integer.parseInt(stringTokenizer.nextToken());

        List<Member> members = new ArrayList<>();
        for (int i = 0; i < N; i++) {
            stringTokenizer = new StringTokenizer(bufferedReader.readLine());
            members.add(new Member(Integer.parseInt(stringTokenizer.nextToken()), Integer.parseInt(stringTokenizer.nextToken())));
        }

        int[] result = new int[N];
        for (int i = 0; i < members.size(); i++) {
            solution(members, i, N, result);
        }
        for (int rank : result) {
            System.out.println(rank + 1);
        }
    }

    private static void solution(List<Member> members, int i, int N, int[] result) {
        for (int j = 0; j < N; j++) {
            if (i == j) continue;
            if (members.get(i).weight < members.get(j).weight && members.get(i).height < members.get(j).height) {
                result[i]++;
            }
        }
    }
}

채점 결과

profile
매일 매일 한 개씩

0개의 댓글