Boj
[Boj] 백준 C++ #2309 일곱 난쟁이
ima9ine4
2024. 8. 8. 01:01
https://www.acmicpc.net/problem/2309
📍 풀이 방법: 합이 100이 되는 7명의 난쟁이를 구하는 것이 아니라, 9명의 난쟁이 키 합에서 뺐을 때 100이 되는 2명의 난쟁이를 구하면 된다.
📍 알고리즘 분류: 브루트포스
brute force(무식한 힘). 즉 무식하게 가능한 경우의 수를 모두 탐색해보는 완전탐색 알고리즘.
📍 소스코드
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int dwarf[9];
int sum = 0;
for(int i=0;i<9;i++) {
cin >> dwarf[i];
sum += dwarf[i];
}
sort(dwarf,dwarf+9);
for(int i=0;i<9;i++){
for(int j=i+1;j<9;j++){
if(sum-dwarf[i]-dwarf[j]==100){
for(int k=0;k<9;k++){
if (k==i || k==j) continue;
cout<<dwarf[k]<<endl;
}
return 0;
}
}
}
return 0;
}
처음에 break문으로 반복문 종료를 처리해주었더니 자꾸 틀렸었다. return 0으로 아예 종료시켜버리는 것이 깔끔했다.