컴굥일지
[BOJ/백준 2798][C++] 블랙잭 본문
반응형
문제
https://www.acmicpc.net/problem/2798
문제 내용
카드 n개를 입력받아 3장을 뽑는다.
뽑은 카드를 다 합했을 때, m보다는 작거나 같으면서 만들 수 있는 최대의 값을 만들면 된다.
문제 풀이
완전 탐색으로 문제를 풀면 된다.
3장의 합이 m보다 작을 때, mmax의 값을 계속 갱신해가면서 확인하면 된다.
코드
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
//입력
int n, m;
cin >> n >> m;
vector<int>arr(n);
for (int i = 0; i < n; i++) cin >> arr[i];
//문제 해결
int sum = 0, mmax = 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++) {
sum = arr[i] + arr[j] + arr[k];
if (sum <= m) {
mmax = max(mmax, sum);
}
}
}
}
//결과 출력
cout << mmax << '\n';
}
반응형
'알고리즘 > 코테 문제' 카테고리의 다른 글
[BOJ/백준 1463][C++] 1로 만들기 (0) | 2022.02.25 |
---|---|
[BOJ/백준 1427][C++] 소트인사이드 (0) | 2022.02.24 |
[BOJ/백준 10773][C++] 제로 (0) | 2022.02.22 |
[BOJ/백준 1158][C++] 요세푸스 문제 (0) | 2022.02.21 |
[BOJ/백준 5525][C++] IOIOI (0) | 2022.02.18 |
Comments