관리 메뉴

SW

[백준 2309] 일곱 난쟁이 본문

대학교/Algorithm

[백준 2309] 일곱 난쟁이

SWKo 2020. 3. 6. 15:59

0. 제목

  • 백준 2309 일곱 난쟁이
  • BOJ 2309 일곱 난쟁이
  • C++ 2309 일곱 난쟁이

1. 문제

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


2. 풀이

  • 9명의 난쟁이중 2명을 제외한 나머지의 합을 모두 구한 후 100과 비교해본다.
  • 2명을 제외한 나머지를 vector에 넣고 오름차순 정렬 후 출력한다.

3. 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
 
int main(int argc, const char * argv[]) {
    int A[10];
    int sum = 0;
    int a = 0, b = 0;
    vector<int> B;
    for(int i = 0; i < 9; i++){
        cin >> A[i];
        sum += A[i];
    }
 
    for(int i = 0; i < 9; i++){
        for(int j = i + 1; j < 9; j++){
            int result = sum;
            result -= (A[i] + A[j]);
            if(result == 100){
                a = i;
                b = j;
            }
        }
    }
    
    for(int i = 0; i < 9; i++){
        if(i == a || i == b) continue;
        B.push_back(A[i]);
    }
    sort(B.begin(), B.end());
    for(int i = 0; i < 7; i++){
        cout << B[i] <<' ';
    }
    return 0;
}
 
 

'대학교 > Algorithm' 카테고리의 다른 글

[백준 1003] 피보나치 함수  (0) 2020.03.08
[백준 14501] 퇴사  (0) 2020.03.07
[백준 1931] 회의실배정  (0) 2020.03.06
[백준 1783] 병든 나이트  (0) 2020.03.06
[백준 2178] 미로 탐색  (0) 2020.03.03
Comments