일곱난쟁이(백준)

108번뇌·2021년 5월 1일
0


[내코드]
답 정확히 나오는데 이거 뭐가 문젠지 모르겠음.
인터넷에 있는 답 돌려도 안될때가 있음;;

#include <iostream>
#include <algorithm>

using namespace std;
const int N = 9;
const int target = 100;


int main()
{
	int arr[9];

	int iSum = 0;
	for (int i = 0; i < N; i++) 
	{
		cin >> arr[i]; 
	}

	for (int i = 0; i < N; i++)
	{
		iSum += arr[i];
	}
	
	for (int i = 0; i < N-1; i++)
	{
		for (int j = i + 1; j < N; j++)
		{
			if ((iSum - (arr[i] + arr[j])) == target)
			{
				arr[i] = 0;//이부분 빼버리기위함
				arr[j] = 0;//이부분 빼버리기위함
			}
		}
	}

	sort(arr, arr + N);

	for (int i = 2; i < N; i++)
	{
		cout << arr[i] << endl;
	}

	return 0;
}

암튼 이 문제에서 ->
1.이중포문 돌리는데 다음번 포문을 i+1로 설정하고,
2.이전포문을 N-1까지만하고
3.원하는 부분 필터링 하기 위해서 해당 배열 0으로 만든다.
완전탐색

profile
내일 아침 눈을 떳을 때, '기대되는 오늘 하루를 만들기 위해' 나는 오늘도 생각하고 고민한다.

0개의 댓글