자윤이와고리즘/Code

[백준] 2309 | 일곱 난쟁이

EUJU 2019. 5. 9. 21:03

여사건을 이용해 풀었는데,,코드는 별로 좋지는 않은 것 같다는 느낌적인 느낌,,

사실 옛날에 그냥 7명 합 구하는 방식으로 풀다가 포기했었는데, 역시 안풀릴땐 시간을 두고 다른 방향으로 생각해보는 습관을 가져야할 듯 싶다^_^!

 

#include <iostream>
using namespace std;

int dwarf[9];
int real_dwarf[7];
int main() {
    int i, j, k, nine_sum = 0, sum = 0, tmp = 0;

    for (i = 0; i < 9; i++) {
        scanf_s("%d", &dwarf[i]);
        nine_sum += dwarf[i];
    }

    for (i = 0; i < 8; i++) {
        for (j = i + 1; j < 9; j++) {
            sum = nine_sum - dwarf[i] - dwarf[j];
            if (sum == 100) {
                 for (k = 0; k < 9; k++) {
                      if (k != i && k != j) {
                           real_dwarf[tmp] = dwarf[k];
                           tmp++;
                      }
                 }
                 break;
            }
        }
    }
     
    for (i = 0; i < 6; i++) {
        for (j = i + 1; j < 7; j++) {
            if (real_dwarf[i] > real_dwarf[j]){
                tmp = real_dwarf[i];
                real_dwarf[i] = real_dwarf[j];
                real_dwarf[j] = tmp;
            }
       }
   }
   for (j = 0; j < 7; j++) {
        cout << real_dwarf[j] <<endl;
    }
}