12/19 자바 코테
7568
입력으로 몸무게와 키가 주어졌을 때, 키와 몸무게가 모두 큰 사람은 작은 사람보다 덩치가 크다고 정의.
처음에 풀 때 덩치가 가장 큰 사람부터 구해서 순차적으로 1씩 더해주려고 했지만, 논리가 떠오르지 않았다. 힌트를 얻기 위해 다른 사람의 풀이를 보니 훨씬 간단하게 푸는 방법이 있었다. 키와 몸무게가 모두 큰 사람이 있다면 rank 변수에 1씩 더해주기만 하면 끝이다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int[][] info = new int[n][2];
for (int i = 0; i < n; i++) {
info[i][0] = scanner.nextInt();
info[i][1] = scanner.nextInt();
}
for (int i = 0; i < n; i++) {
int rank = 1;
for (int j = 0; j < n; j++) {
if (i == j) {
continue;
}
if (info[i][0] < info[j][0] &&
info[i][1] < info[j][1]) {
rank++;
}
}
System.out.print(rank + " ");
}
}
}
댓글남기기