본문 바로가기

알고리즘/코드 연습

[백준 - 2798] 블랙잭

반응형

카드 3장을 뽑아서 더한 값이 M보다 작거나 같고 M과 가장 가까운 수를 찾는 게임이다.

 

입력값 =>

N : 카드의 갯수, M : 3개 카드를 더해서 넘지 말아야 할 수 

카드의 원소

 

EX)

입력

5 21

5 6 7 8 9

출력

21

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
 
int blackJack1(int numOfinput, int maxNum){
    
    int *= new int [numOfinput];
    int sum = -1;
    
    for(int i = 0; i < numOfinput; i++){
        std::cin >> a[i];
    }    
    
    for(int i = 0; i < numOfinput; i++){
        for(int j = i+1; j < numOfinput; j++){
            for(int k = j+1; k < numOfinput; k++){
 
                if(sum < a[i] + a[j] + a[k] && a[i] + a[j] + a[k] <= maxNum ){
                    sum =  a[i]+ a[j] + a[k];    
                } 
            }
        }
    }
    return sum;    
}
 
int main(){
    
    int numOfinput;
    int maxNum;
    
    std::cin >> numOfinput >> maxNum;    
    std::cout<<blackJack1(numOfinput, maxNum);
 
}
cs

 

출처 : https://www.acmicpc.net/problemset

반응형

'알고리즘 > 코드 연습' 카테고리의 다른 글

[백준-1764] 듣보잡  (0) 2020.07.31
[백준 - 1924] 2007년  (0) 2020.07.29
[LeetCode] Roman to Integer  (0) 2020.07.21
[LeetCode] Palindrome Number  (0) 2020.07.20
[LeetCode] Reverse Integer  (0) 2020.07.20