ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 7568 : 덩치
    Solve Algorithms/DP, BruteForce 2020. 5. 5. 14:53
    728x90

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

     

    알고리즘 분류 : 브루트 포스


    문제

    우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x,y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x,y), (p,q)라고 할 때 x>p 그리고 y>q 이라면 우리는 A의 덩치가 B의 덩치보다 "더 크다"고 말한다. 

    N명의 집단에서 각 사람의 덩치 등수는 자신보다 더 "큰 덩치"의 사람의 수로 정해진다. 만일 자신보다 더 큰 덩치의 사람이 k명이라면 그 사람의 덩치 등수는 k+1이 된다. 이렇게 등수를 결정하면 같은 덩치 등수를 가진 사람은 여러 명도 가능하다. 아래는 5명으로 이루어진 집단에서 각 사람의 덩치와 그 등수가 표시된 표이다.

    위 표에서 C보다 더 큰 덩치의 사람이 없으므로 C는 1등이 된다. 그리고 A, B, D 각각의 덩치보다 큰 사람은 C뿐이므로 이들은 모두 2등이 된다. 그리고 E보다 큰 덩치는 A, B, C, D 이렇게 4명이므로 E의 덩치는 5등이 된다. 위 경우에 3등과 4등은 존재하지 않는다. 여러분은 학생 N명의 몸무게와 키가 담긴 입력을 읽어서 각 사람의 덩치 등수를 계산하여 출력해야 한다.

    입력

    첫 줄에는 전체 사람의 수 N이 주어진다. 그리고 이어지는 N개의 줄에는 각 사람의 몸무게와 키를 나타내는 양의 정수 x와 y가 하나의 공백을 두고 각각 나타난다. 단, 2 ≤ N ≤ 50, 10 ≤ x,y ≤ 200 이다.

    출력

    여러분은 입력에 나열된 사람의 덩치 등수를 구해서 그 순서대로 첫 줄에 출력해야 한다. 단, 각 덩치 등수는 공백문자로 분리되어야 한다.


    접근

    • 위의 문제에서, bold 처리한 부분을 if문으로 만들어주면 된다. 
    • list[i][2]에는 i번 째 사람의 등수를 저장한다. 

    코드

    import java.util.*;
     
    public class Main {
     
        public static void main(String[] args) {
     
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            int[][] list = new int[n + 1][3];
     
            for (int i = 1; i <= n; i++) {
                list[i][0= sc.nextInt();
                list[i][1= sc.nextInt();
                list[i][2= 1;
            }
     
            for (int i = 1; i <= n; i++) {
                for (int j = 1; j <= n; j++) {
                    if (list[i][0< list[j][0&& list[i][1< list[j][1])
                        list[i][2]++;
                }
            }
     
            for (int i = 1; i <= n; i++)
                System.out.print(list[i][2+ " ");
     
            sc.close();
        }
    }
    728x90

    'Solve Algorithms > DP, BruteForce' 카테고리의 다른 글

    프로그래머스 : 124나라의 숫자  (0) 2020.06.26
    프로그래머스 : 모의고사  (0) 2020.05.17
    2096 : 내려가기  (0) 2020.05.05
    1915 : 가장 큰 정사각형  (0) 2020.05.05
    1965 : 상자넣기  (0) 2020.05.05

    댓글

kxmjhwn@gmail.com