백준 브루트포스
2798 블랙잭


#include <iostream>
using namespace std;
int main() {
	int card[100];
	int n, answer, near, tmp;
	bool isFinish = false;
	cin >> n >> answer;
	for (int i=0;i<n;i++)
		cin >> card[i];
	near = 0;
	for (int i = 0; i < n-2; i++) {
		for (int j = 1; j < n-1; j++) {
			for (int k = 2; k < n; k++) {
				if (i == j || j == k || k == i) continue; //카드 중복x
				tmp = card[i] + card[j] + card[k];
				if (tmp == answer) { //원하는 수와 일치
					near = tmp;
					isFinish = true; break;
				}
				if (tmp>answer ) continue; //원하는 수보다 크면 안됨
				if (answer - near > answer - tmp)//근사한값
					near = tmp;
			}
			if (isFinish) break; //원하는 값 찾으면 반복 종료
		}
		if (isFinish) break;
	}
	cout << near;
}놓친 부분
: 카드 중복x, M보다 크면 안됨
Author And Source
이 문제에 관하여(백준 브루트포스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hyun2371/백준-브루트포스저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)