💡 브루트포스 알고리즘
Memory 1112KB Time 0ms Code Length 435B
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
int n, m;
int main()
{
scanf("%d %d", &n, &m);
int arr[100];
for (int i = 0; i < n; i++) {
scanf(" %d", &arr[i]);
}
int max = 0;
for (int i = 0; i < n - 2; i++) {
for (int j = i + 1; j < n - 1; j++) {
for (int k = j + 1; k < n; k++) {
if (arr[i] + arr[j] + arr[k] > m) continue;
if (max < arr[i] + arr[j] + arr[k]) {
max = arr[i] + arr[j] + arr[k];
}
}
}
}
printf("%d", max);
}
이 코드는 세 개의 정수를 입력받아 배열에 저장한 후, 세 개의 수를 더하여 합이 입력받은 수보다 작은 경우 중에서 최대값을 찾아 출력하는 프로그램이다. 처음에는 세 개의 정수를 입력받고 배열에 저장하고, 그 후에 중첩된 반복문을 사용하여 모든 가능한 세 개의 수의 조합을 확인한다. 세 개의 수를 더한 값이 입력받은 수보다 작은 경우에만 최대값을 업데이트하고, 마지막에 최대값을 출력한다.