728x90
문제:https://www.acmicpc.net/problem/7568
코드:https://github.com/irerin07/AlgorithmStudyBaek/blob/master/src/baekjoon7568.java
import java.util.Scanner;
public class baekjoon7568 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int P[][] = new int[N][2]; //몸무게, 키
for(int i=0;i<N;i++) {
P[i][0] = sc.nextInt(); //몸무게
P[i][1] = sc.nextInt(); //키
}
int[] ans = solution(N, P);
for(int i = 0; i < ans.length; i++){
System.out.print(ans[i] + " ");
}
}
public static int[] solution(int n, int[][] p){
int[] answer = new int[n];
for(int i = 0; i < n; i++){
answer[i] = 1;
}
for(int i = 0; i < n; i++){
for(int j = 0; j < n; j++){
if(p[i][0]>p[j][0] && p[i][1]>p[j][1]){
answer[j]++;
}
}
}
return answer;
}
}
브루트포스 3번째 문제
키와 몸무게를 비교해서 순위를 매기는 문제.
A의 키와 몸무게가 B의 키와 몸무게보다 크다면 A는 B보다 큰 덩치를 가지고 있다고 한다.
A의 키는 B보다 크지만 A의 몸무게가 B의 몸무게보다 낮다면 둘은 같은 덩치를 가진 것으로 생각한다. 그 반대의 상황 역시 마찬가지.
A의 키와 몸무게가 B의 키와 몸무게보다 작다면 A는 B보다 작은 덩치를 가지고 있다고 한다.
"만일 자신보다 더 큰 덩치의 사람이 k명이라면 그 사람의 덩치 등수는 k+1이 된다"
위의 문장을 기반으로 브루트포스를 이용하여 각 인원의 키와 몸무게를 서로 비교하여 나보다 큰 덩치를 가진 사람이 있다면 순위를 +1씩 해주는 방식으로 풀었다.
728x90
'알고리즘' 카테고리의 다른 글
[프로그래머스]완주하지 못한 선수 [Java/자바] (0) | 2019.09.24 |
---|---|
[백준]동전 0 [Java/자바] (0) | 2019.09.15 |
[백준] 분해합 [Java/자바] (0) | 2019.09.10 |
[백준]블랙잭 [Java/자바] (0) | 2019.09.09 |
[백준] ATM [Java/자바] (0) | 2019.06.15 |