[C++][백준 2798] 블랙잭

PublicMinsu·2024년 6월 17일
0

문제

접근 방법

100^3은 1초 안에 해도 부담 없는 개수이다.

코드

#include <iostream>
#include <vector>
using namespace std;
vector<int> v;
int N, M, answer;
int main()
{
    ios::sync_with_stdio(0), cin.tie(0);

    cin >> N >> M;

    v = vector<int>(N);
    for (int &i : v)
    {
        cin >> i;
    }

    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)
            {
                int sum = v[i] + v[j] + v[k];

                if (sum > M)
                {
                    continue;
                }

                answer = max(sum, answer);
            }
        }
    }

    cout << answer;
    return 0;
}

풀이

3중 반복문을 활용하여 모든 카드의 조합을 확인하고 M에 최대한 가까운 합을 구해주면 된다.

profile
연락 : publicminsu@naver.com

0개의 댓글