본문 바로가기
[ 다먹살 ]/- Coding

[백준] 7568 덩치

by 엉망으로살기 2021. 9. 23.
반응형

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

7568번: 덩치

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

www.acmicpc.net

제한조건 자체의 worst case가 적어서 그런건지, 아니면 브루트포스 카테고리에 있는 문제라 그런지 모르겠지만 단순히 O(N²)로 시간복잡도를 가지는 해결방법을 사용했는데도 잘 통과가 되었다.
시도는 해보지 않았지만 Arrays.sort를 이용해서 뭔가 해결할 수도 있을 것 같은데 나중에 생각을 해봐야겠다.


문제


입출력 및 제한


코드

import java.util.Scanner;

public class Main
{
    public static void main(String[] args)
    {
     Scanner sc = new Scanner(System.in);
     int t = sc.nextInt();
     int[][] arr = new int[t][4];
    
        // 선수번호 및 몸무게, 키 초기 설정
     for(int i=0; i<t; i++)
     {
     arr[i][0] = i+1;
     arr[i][1] = sc.nextInt();
     arr[i][2] = sc.nextInt();
     }
    
     for(int i=0; i<t; i++)
     {
            // 비교대상 선수에 대한 몸무게와 키를 기준으로
     int weight = arr[i][1];
     int height = arr[i][2];
    
            // 내 인덱스와 다를 경우, 몸무게/키가 전부 클 때만 체크
     for(int j=0; j<t; j++)
     {
     if(i!=j)
     {
     if(weight<arr[j][1] && height<arr[j][2])
     {
     arr[i][3]++;
     }
     }
     }
     }
        
        // 모든 경우에 +1해서 순위를 출력
     for(int i=0; i<t; i++)
     {
     System.out.print((arr[i][3]+1) + " ");
     }
    }
}

반응형

댓글