Study/Baekjoon

[백준/C++] 2798 블랙잭

에린_1 2024. 2. 20. 16:08
728x90

2798 블랙잭

#include <bits/stdc++.h>
using namespace std;

int main()
{
	ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
	
	int num, goal, sum,max = 0;
	cin >> num >> goal;
	vector<int> num_arr(num);
	for (int i = 0; i < num; ++i)
	{
		int input;
		cin >> input;
		num_arr[i]= input;
	}

	for (int i = 0; i < num-2; ++i)
	{
		for (int j = i + 1 ;j < num - 1; ++j)
		{
			for (int k = j + 1; k < num; ++k)
			{
				sum = num_arr[i] + num_arr[j] + num_arr[k];
				if (sum <= goal && sum > max)
					max = sum;
			}
		}
	}
	cout << max;
	return 0;
}
  • 3중 for문을 이용해서 문제풀이.
  • 종료조건을 잘 잡는 것이 중요해보인다.
  • if문을 통해서 sum이 목표값 goal을 넘지않도록.
  • 다른 좋은 코드가 있을까 확인해보았는데 다들 비슷하게 푼 것 같다.
728x90