[백준] 덩치 7568번

나의 풀이

public class Dungchi {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());

        int[][] dungchi = new int[N][2];
        int[] rank = new int[N];
        for (int i = 0; i < N; i++) {
            String[] s = br.readLine().split(" ");
            dungchi[i][0] = Integer.parseInt(s[0]);
            dungchi[i][1] = Integer.parseInt(s[1]);
        }

        for(int i = 0; i < N; i++) {
            rank[i] = 1;
            for(int j = 0; j < N; j++) {
                if(i == j) continue;

                if(dungchi[i][0] < dungchi[j][0] && dungchi[i][1] < dungchi[j][1]) {
                    rank[i] += 1;
                }
            }
        }

        for(int i = 0; i < N; i++) {
            System.out.print(rank[i] + " ");
        }
    }
}
  • 사람 수 N 을 입력받는다.
  • 사람의 키와 몸무게를 담을 2차배열을 만들어주고, 순위를 담을 배열도 만들어준다.
  • N만큼 반복하면서 비교를 한다.
  • 자기 자신과 비교하게 될 경우는 continue 를 통해 스킵한다.
  • 순위 1을 기준으로 i번째 사람의 몸무게와 키 둘 다 j번째 사람보다 작을경우 순위를 내려준다.(+1을 해준다)
  • rank 배열을 그대로 출력해준다.

느낀점

문제에 '키와 몸무게 둘 다 클 경우 덩치가 더 크고, 하나만 크거나 작을경우는 더 크다고 할 수 없다' 를 제대로 읽지 않고 풀다가 매우 해맸다.

0개의 댓글