cyphen156
백준-브루트 포스 2798 블랙잭 본문
변형 블랙잭
주어진 N장의 카드 중 3장을 골라 M이하의 가장 큰 수를 만들어야 한다.
제약사항
- 2 < N <= 100
- 9 < M <= 300,000
- 0 < InputCase <= 100,000
- A + B + C <= M
주의 사항
카드는 무조건 3장을 쓴다 ==> 3중첩 반복문
브루트 포스는 중간에 멈추지 않고 끝까지 다 탐색한다.
CPP풀이
블랙잭_2798.cpp
/**
* 백준 블랙잭_2798
* 변형 블랙잭
* 주어진 N장의 카드 중 3장을 골라 M이하의 가장 큰 수를 만들어야 한다.
*
* 제한사항
*****************************************
* 2 < N <= 100 *
* 9 < M <= 300,000 *
* 0 < InputCase <= 100,000 *
* A + B + C <= M *
*****************************************
*
*
*
* 주의
* 카드는 무조건 3장 쓴다.
* 브루트 포스는 끝까지 다 탐색해봐야 한다.
*
* 풀이시간 20분
*/
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(void)
{
int a, b, c, N, M;
cin >> N >> M;
int sum = 0;
int temp = sum;
vector<int> arr;
for (int i = 0; i < N; ++i)
{
int input;
cin >> input;
arr.push_back(input);
}
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)
{
temp = arr[i] + arr[j] + arr[k];
if (temp > sum && temp <= M)
{
sum = temp;
}
}
}
}
cout << sum;
return 0;
}
모든 예제 코드의 소스파일은 제 개인 깃허브 레포지토리 에 있습니다.
Workspace/알고리듬 풀이 at main · cyphen156/Workspace
Studying . Contribute to cyphen156/Workspace development by creating an account on GitHub.
github.com
'컴퓨터공학 > 알고리듬 풀이' 카테고리의 다른 글
백준-브루트 포스 19532 수학은 비대면강의입니다 (0) | 2025.04.01 |
---|---|
백준-브루트 포스 2231 분해합 (0) | 2025.04.01 |
백준-시간복잡도 24313 알고리즘 수업 - 점근적 표기 1 (0) | 2025.03.07 |
백준-시간복잡도 24266 알고리즘 수업 - 알고리즘의 수행 시간 5 (0) | 2025.03.07 |
백준-시간복잡도 24265 알고리즘 수업 - 알고리즘의 수행 시간 4 (0) | 2025.03.07 |