Boj

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

ima9ine4 2024. 8. 8. 01:01
728x90

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으로 아예 종료시켜버리는 것이 깔끔했다.

728x90
반응형

'Boj' 카테고리의 다른 글

[Boj] 백준 C++ #11726 2xn 타일링  (0) 2024.08.11
[Boj] 백준 C++ #2667 단지번호붙이기  (0) 2024.08.11
[Boj] 백준 C++ #2981 검문  (0) 2024.01.10
[Boj] 백준 C++ #1991 트리 순회  (0) 2024.01.05
[Boj] 백준 C++ #13241 최소공배수  (1) 2023.12.28