백준 2798번: 블랙잭

Se0ng_1l·2022년 6월 29일
0

백준

목록 보기
15/40

브루트포스 알고리즘

모든 경우의 수를 계산하여 최적의 결과를 도출하는 알고리즘
일명 노가다😓

3개의 반복문을 통해 모든 덧셈 결과를 비교해서 원하는 값과 가장 가까운 값을 찾아내면 된다.

https://www.acmicpc.net/problem/2798

#include <iostream>
using namespace std;

int main()
{
    int num;
    int max;
    cin >> num >> max;
    int *arr = new int[num];
    for(int i = 0; i < num; i++)
        cin >> arr[i];
    int result = 0;
    int sum = 0;
    for(int i = 0; i < num; i++)
    {
        for(int j = i + 1; j < num; j++)
        {
            for(int k = j + 1; k < num; k++)
            {
                sum = arr[i] + arr[j] + arr[k];
                if(sum <= max && sum > result)
                    result = sum;
            }
        }
    }
    cout << result << endl;
}
profile
치타가 되고 싶은 취준생

0개의 댓글