본문 바로가기
백준 문제풀이

BOJ/2798

by alscks 2024. 1. 6.

블랙잭

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {

int cnt;
int arr[100];
int M;

scanf("%d", &cnt);
scanf("%d", &M);

for (int i = 0; i < cnt; i++) {
scanf("%d", arr + i);
}

int a, b, c;
int sum;
int diff;
int past_diff = M; // 나올 수 없는 가장 큰 오차부터 시작.

for (int i = 0; i < cnt; i++) {
for (int j = 0; j < cnt; j++) {
for (int k = 0; k < cnt; k++) {
if (i == j || j == k || i == k) {
//패스(같은 카드 고르는 경우가 없어야..)
}
else {
sum = arr[i] + arr[j] + arr[k];
diff = M - sum;

if (diff >= 0 && diff < past_diff) {
past_diff = diff;
}

}
}
}
}

printf("%d", M - past_diff);

return 0;
}

 

 

브루트포스 알고리즘. 나올 수 있는 모든 경우를 판단. 전수조사.

3중 for문이며, cnt에 대하여 모든 for문이 작동함으로 빅오표기법 O(n^3)

'백준 문제풀이' 카테고리의 다른 글

BOJ/10808  (2) 2024.01.06
BOJ/2309  (0) 2024.01.06
BOJ/17389  (0) 2024.01.05
BOJ/15969  (0) 2024.01.05
BOJ/2747  (2) 2024.01.05