혜랑's STORY

[BOJ_C++] 2798번 : 블랙잭 본문

무지성 공부방/알고리즘 해결

[BOJ_C++] 2798번 : 블랙잭

hyerang0125 2021. 3. 3. 21:41

- 문제

 

- 풀이

#include <iostream>
using namespace std;

int main(){
    int n, m;
    cin >> n >> m;

    int num[100];
    for(int i=0; i<n; i++)
        cin >> num[i];
    
    int max = 0, sum;
    for(int i=0; i<n; i++){
        for(int j=i+1; j<n; j++){
            for(int k=j+1; k<n; k++){
                sum = num[i]+num[j]+num[k];
                if(max<sum && sum<=m)
                    max = sum;
            }
        }
    }

    cout << max;
    
    return 0;
}

 

  1. N개의 숫자를 배열로 입력받는다.
  2. 각 숫자를 더해서 나올 수 있는 모든 경우의 수를 계산한다. (3중 for문을 사용하여 i번째 j번째 k번째의 값을 더한 sum을 계산한다.)
  3. 만약 max보다 크고, M보다 작다면 max에 sum 값을 넣어 준다.

 

'무지성 공부방 > 알고리즘 해결' 카테고리의 다른 글

[BOJ_C++] 2164번 : 카드2  (0) 2021.03.11
[BOJ_C++] 11399번 : ATM  (0) 2021.03.11
[BOJ_C] 10828번 : 스택, 10845번 : 큐  (0) 2021.03.02
[BOJ_C] 1259번  (0) 2021.02.26
[BOJ_C] 10989번  (0) 2021.02.08