본문 바로가기
온라인저지

[BOJ]2309번: 일곱 난쟁이

by plzfday 2017. 9. 3.

2309: 일곱 난쟁이


풀이

무식하게 brute force를 해보자. 제한된 상황에서는 이런 좋은!! 알고리즘이 어디 있겠는가.

처음에 어떻게 풀어야 할 지 모르겠어서 헤맸다. 나는 어떻게 풀었냐면 일단 9명의 키를 다 더한다.
그리고 키 순서 대로 정렬을 시켰다.

반복문을 돌면서 sum - (i번째 값 + j번째 값) == 100이 되면 i와 j의 인덱스를 저장해서 출력을 할 때 
그 인덱스는 거르고 출력 할 수 있게 했다.

코드

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 <stdio.h>
#include <algorithm>
 
using namespace std;
 
int arr[9], i, j, sum =0, save_index1, save_index2;
 
int main()
{
    for (int i = 0; i < 9++i) { scanf("%d"&arr[i]); sum += arr[i]; }
 
    sort(arr, arr + 9);
 
    for (i = 0; i < 9++i) {    
        for (j = i + 1; j < 9++j) {
            if (sum - arr[i] - arr[j] == 100)
            {
                save_index1 = i;
                save_index2 = j;
            }
        }
    }
    for (int i = 0; i < 9++i) {
        if (i == save_index1 || i == save_index2)
            continue;
        else
            printf("%d\n", arr[i]);
    }
    return 0;
}



'온라인저지' 카테고리의 다른 글

[BOJ] 10942번: 팰린드롬?  (0) 2017.10.21
[BOJ]14726번: 신용카드 판별  (0) 2017.09.24
[BOJ]2605번: 줄 세우기  (1) 2017.09.03
[BOJ]2783번: 삼각 김밥  (0) 2017.09.03
[BOJ] 2477번: 참외밭  (2) 2017.08.26
[BOJ]2476번: 주사위 게임  (0) 2017.08.26

댓글