[구현] 백준 7568 덩치

Halo·2025년 5월 27일

Algorithm

목록 보기
52/85
post-thumbnail

🔍 Problem

7568 덩치


📃 Input&Output


🌁 문제 배경

가. 접근 방법
각 개인의 키, 몸무게와 다른 사람의 키, 몸무게를 비교해서 둘다 현재 개인이 크면 자신보다 덩치가 큰 사람의 수를 1 늘리는 브루트 포스로 접근하였다.

나. 사용할 알고리즘 선택
브루트 포스(노가다)


📒 해결 과정

가. 현재 순위를 구하고자하는 사람을 정한다.

나. 그 사람을 제외한 모든 사람의 키, 몸무게를 순회하며 비교한다.
만약 비교하고 덩치가 현재 사람이 많다고 판단되면 그 사람보다 덩치가 큰 사람의 숫자num에 1을 더한다. 그리고

다. num에 +1을 하여 출력한다.
본인보다 덩치가 큰 사람의 숫자에 +1을하여 자신의 순위를 구한다.

본인보다 덩치가 작은 사람이 3명있으면, 본인은 4등이기 때문이다. 그리고 본인보다 덩치가 작은 사람이 2명있는 사람이 2명이면 둘다 3등이다.


💻 Code

import java.util.*;
import java.io.*;
import java.lang.*;

public class P7568 {
    public static void main(String args[]) {
        int num = 0;
        int N;
        int arr[][];
        Scanner sc = new Scanner(System.in);

        N = sc.nextInt();
        arr = new int[N][2];

        for (int i = 0; i < N; i++) {
            arr[i][0] = sc.nextInt();
            arr[i][1] = sc.nextInt();
        }

        for (int i = 0; i < N; i++) {
            num = 0;
            int now_w = arr[i][0];
            int now_h = arr[i][1];

            for (int j = 0; j < N; j++) {
                if (i != j) {
                    int other_w = arr[j][0];
                    int other_h = arr[j][1];
                    if (now_w < other_w && now_h < other_h) {
                        num++;
                    }
                }
            }
            System.out.println(num + 1);

        }
    }
}

🤔 느낀점

구현 문제를 많이 풀어봐야겠다는 생각이 든다. 컴퓨팅적 사고를 기를만한데는 구현만한게 없다.

profile
새끼 고양이 키우고 싶다

0개의 댓글