알고리즘 문제풀이/백준

백준 2798 - 블랙잭

www.acmicpc.net/problem/2798

 

2798번: 블랙잭

문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 ��

www.acmicpc.net

for문 세개를 사용하지 않는 방법을 열심히 고려해 봤지만, 찾지 못했다. 

방법을 발견한다면 댓글로 알려주세요 ㅎ

#include <iostream>
#include <vector>

using namespace std;

int main() {
  int n, m, result = 0;
  cin >> n >> m;
  cin.ignore();

  int number[n];
  for(int i=0; i<n; i++){
    cin >> number[i];
  }

  int prev_result = 0;
  int answer = 0;

  for(int i = 0; i<n; i++){
    for(int j = i+1; j<n; j++){
      for(int k = j+1; k<n; k++){
        result = number[i]+number[j]+number[k];
        if(result <= m){
          answer = max(prev_result, result);
          prev_result = answer;
        }
        
      }
    }
  }

  cout << answer << endl;


}