브루트포스 알고리즘
이번 문제풀이는 for문을 중첩하여 모든 경우의 수를 비교하는 알고리즘을 사용한다.
public class No2798 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] arr = br.readLine().split(" ");
int N = Integer.parseInt(arr[0]);
int M = Integer.parseInt(arr[1]);
String[] arr1 = br.readLine().split(" ");
int[] intArr = new int[N];
for (int i = 0; i < N; i++) {
intArr[i] = Integer.parseInt(arr1[i]);
}
int max = 0;
for (int i = 0; i < intArr.length-2; i++) {
for (int j = i+1; j < intArr.length-1; j++) {
for (int j2 = j+1; j2 < intArr.length; j2++) {
int sum = intArr[i]+intArr[j]+intArr[j2];
if(sum<=M) {
if(sum>max) {
max=sum;
}
}
}
}
}
System.out.println(max);
}
}
'Data Structure & Algorithm > 백준' 카테고리의 다른 글
Class2 돌파! (0) | 2022.10.27 |
---|---|
No9012 괄호 (Stack) (0) | 2022.10.25 |
백준 2164번 카드2 (Queue) (0) | 2022.10.25 |
이진 검색 (10816번, 1920번) (0) | 2022.09.29 |
solved.ac 활용하기 (0) | 2022.09.27 |