백준 2309번 - 일곱 난쟁이
백준 2309번 문제 바로가기 bruteforce #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { vector<int> snowWhite; int total = 0; int height = 0; bool check = false; for (int i=0; i<9; i++){ cin >> height; total += height; snowWhite.push_back(height); } sort(snowWhite.begin(), snowWhite.end()); for (int i=0; i<9; i++){ for (int j=i+1; j<9; j++){ if (snowWhite[i] + snowWhite[j] == total - 100){ check = true; for (int k=0; k<9; k++){ if (k == i || k == j){ continue; } cout << snowWhite[k] << endl; } break; } } if (check) break; } return 0; } Review bruteforce을 이용하면 간단하게 풀어낼 수 있는 문제 다만, 이중 for문을 사용하기에 break 처리에 유의해야 한다. 내부 for문만 break하고 외부 for문은 break하지 않으면, 모든 경우의 수를 출력하기 때문에 틀렸습니다가 발생할 수 있다.