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) + " ");
}
}
}
'[ 다먹살 ] > - Coding' 카테고리의 다른 글
[백준] 1011 Fly me to the Alpha Centauri (0) | 2021.09.24 |
---|---|
[프로그래머스] 레벨3 정수 삼각형 (0) | 2021.09.24 |
[프로그래머스] 레벨2 삼각달팽이 (0) | 2021.09.23 |
[프로그래머스] 레벨1 없는 숫자 더하기 (0) | 2021.09.22 |
[백준] 15552 빠른 A+B (0) | 2021.09.22 |
댓글