자기개발👨‍💻/코딩 알고리즘

[C++] 백준 2309 일곱 난쟁이

천숭이 2022. 2. 27. 23:37

https://www.acmicpc.net/problem/2309

#include <iostream>
#include <vector>
#include <numeric>
#include <algorithm>
using namespace std;

int main(int argc, char** argv) {
	
	vector<int> v;
	int tmp, sub = 0, sum_;
	int i,j;
	
	for (int i=0;i<9;i++){
		cin>>tmp;
		v.push_back(tmp);
	}
	
	sum_ = accumulate(v.begin(), v.end(), 0);
	
	for(i=0;i<8;i++){
		for(j=i+1;j<9;j++){
			sub = v[i] + v[j];
			if (sum_ - sub == 100) {
//				cout<<"sub : "<<sub<< " i : "<<i<<" j : "<<j<<endl;
				v.erase(v.begin() + i); 
				v.erase(v.begin() + j-1);  // 윗줄에서 지웠기 때문에 사이즈 -1 
				break;
			}
		}
	}
	
	sort(v.begin(), v.end());
	
	for(int k=0;k<7;k++){
		cout<<v[k]<<endl;
	}
	
}