반응형
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 |