Baekjoon Online

[2798번]: 블랙잭

E.W.I 2021. 7. 5. 19:49
반응형

https://www.acmicpc.net/problem/2798

 

2798번: 블랙잭

첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장

www.acmicpc.net

 

 

[문제 풀이]

 

1. 카드의 개수와 최댓값을 입력받습니다.

2. 카드의 갯수에 맞게 반복문을 실행하여 배열에 카드의 값들을 입력받습니다.

3. 반복문을 3개 사용하게 되는데 서로 순서가 +1씩 차이 나도록 하여 카드 3개의 합들을 구합니다

4. if (sum > max && sum <= m)을 사용하여 최대한 3개의 합이 큰 숫자들을 찾습니다.

 

 

#include <stdio.h>
#include <string.h>
#define _CRT_SECURE_NO_WARNINGS 
 
 
int main() 
{
 
    int n, m;
    scanf("%d %d"&n, &m);
    int a[100= { 0 };
    int sum = 0, max = 0;
 
    for (int i = 0; i < n; i++)
    {
        scanf("%d",&a[i]);
    }
    for (int i = 0; i < n; i++)
    {
        for (int j = i + 1; j < n; j++)
        {
            for (int k = j + 1; k < n; k++)
            {
                sum = a[i] + a[j] + a[k];
                if (sum > max && sum <= m)
                {
                    max = sum;
                }
                
            }
        }
    }
 
    printf("%d", max);
    return 0;
}
cs

'Baekjoon Online' 카테고리의 다른 글

[11399]: ATM  (0) 2021.07.12
[4673번]: 셀프 넘버  (0) 2021.07.06
[1978]: 소수 찾기  (0) 2021.07.05
[10872번]: 팩토리얼  (0) 2021.07.05
[1152번]: 단어의 개수  (0) 2021.07.03