본문 바로가기

알고리즘/BOJ

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


0. 문제

 

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

1. 아이디어

 

1) 9명의 난쟁이 사이에서 7명을 골라 키의 합을 구하는 건 전체의 합에서 2명을 골라 빼는 것과 같다.

 

2. 소스코드

 

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
#include <iostream>
#include <algorithm>
int main()
{
    int temp, sum = 0;
    int height[9];
    for (int i = 0; i < 9; i++)
    {
        std::cin >> height[i];
        sum += height[i];
    }
    std::sort(height, height + 9);
 
    for (int i = 0; i < 9; i++)
    {
        for (int j = 0; j < 9; j++)
        {
            temp = height[i] + height[j];
            if (sum - temp == 100)
            {
                for (int k = 0; k < 9; k++)
                {
                    if (k == i || k == j) continue;
                    std::cout << height[k] << '\n';
                }
                return 0;
            }
        }
    }
}
cs

 

3. 결과

 

4. 피드백

 

  • STL algorithm 사용하니까 편하다.

 

'알고리즘 > BOJ' 카테고리의 다른 글

[C++] 백준 3085번 - 사탕 게임  (0) 2020.03.01
[C++] 백준 2231번 - 분해합  (0) 2020.02.29
[C++] 백준 10866번 - 덱  (0) 2020.02.29
[C++] 백준 1966번 - 프린터 큐  (0) 2020.02.29
[C++] 백준 10845번 - 큐  (0) 2020.02.14