문제
문제해결1
import java.util.Arrays;
import java.util.Scanner;
public class B2_2309 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = 9;
int[] arr = new int[n];
int sum = 0;
//9명의 키 전부 더하기
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
sum += arr[i];
}
// 정렬 -> 오름차순 출력을 위해
Arrays.sort(arr);
//2명의 키 값 빼기, 모든 경우의 수만큼
for (int i = 0; i < n; i++) {
for (int j = i+1; j < n; j++) {
if (sum - arr[i] - arr[j] == 100){
for (int k = 0; k < n; k++) {
if (arr[k]!=arr[i] && arr[k]!=arr[j])//난쟁이의 키는 다 다르므로
System.out.println(arr[k]);
}
//정답은 한번만 출력되도록
System.exit(0);
}
}
}
}
}
- 브루트 포스 알고리즘은 모든 경우의 수를 검색하는 알고리즘 기법이다
- 처음에는 7가지를 전부 더하는 방법을 생각하였으나 거꾸로 생각하면 전체 합에서 2명씩 뺀 모든 경우의 수를 찾는게 더 빠르다
- 정답이 여러개일때 한번만 출력되도록 System.exit(0)를 사용하였다
'[알고리즘] > 백준' 카테고리의 다른 글
자바 - 구현 - 백준 1978 소수 찾기 (0) | 2021.05.17 |
---|---|
자바 - 구현 - 백준 2693 N번째 큰 수 (1) | 2021.05.16 |
자바 - 구현 - 백준 10870 피보나치 수 5 (0) | 2021.05.07 |
자바 - 구현 - 백준 2460 지능형 기차2 (0) | 2021.05.03 |
자바 - 구현 - 백준 10818 최소, 최대 (0) | 2021.05.03 |