백준 7568번
몸무게와 키 두개 모두가 동시에 커야지 만족되는 문제이다.
먼저 2차원 배열로 몸무게와 키를 입력받아
입력받은 값을 가지고 다른 배열의 값들과 전부 비교해주면된다.
BruteForce 알고리즘
여기서 잠깐.
Brute Force 알고리즘이란?
완전 탐색 알고리즘
하나부터 열까지 모든 값 (모든 경우) 을 전부 비교하는 알고리즘이다.
장점 ?
- 모든 경우를 다 고려하기에 확실한 정답 찾기 가능
- 복잡한 알고리즘 구현 없이 빠르게 구현이 가능
단점 ?
- 모든 경우를 다 고려하기에 효율적이지 못함
- 알고리즘 실행시간이 오래걸림
코드 구현?
package 기업코테;
import java.util.Scanner;
public class B7568 {
/*덩치 비교해서 순위 출력하기
* 2차원 배열선언 , 몸무게, 키
* 2차원 배열에 먼저 넣은 다음
* 다른 값들과 비교해서 rank 매기기, 출력
*/
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int N = sc. nextInt();
int arr[][] = new int[N][2];
for(int i=0; i<N; i++){
arr[i][0] = sc.nextInt(); //몸무게
arr[i][1] = sc.nextInt(); //키
}
for(int i=0; i<N; i++){
int rank = 1;
for(int j=0; j<N; j++){
if(i==j) continue;
/*
* i번째 사람과 j번째 사람을 비교
* i번째 사람보다 j번째의 키와 몸무게 둘다가 더 큰 값을 갖는다면
* 랭크가 뒤로 밀리므로 rank++
*/
if(arr[i][0]<arr[j][0]&& arr[i][1]<arr[j][1]){
rank++;
}
}
System.out.print(rank+" ");
}
}
}
'프로그래밍 공부 > 알고리즘' 카테고리의 다른 글
백준 11724 [Java] DFS 활용 (0) | 2023.09.08 |
---|---|
BFS 완전탐색 알고리즘 [java] (0) | 2023.09.08 |
DFS 깊이우선탐색 (java) (2) | 2023.09.08 |