알고리즘 문제풀이/백준

백준2309번 - 일곱 난쟁이

#include <iostream>
#include <algorithm>

using namespace std;

int main() {
  int height[9];
  int total = 0;

  for(int i=0; i<9; i++){
    cin >> height[i];
    total = total + height[i];
  }

  sort(height,height+9);

  for(int i = 0; i<9; i++){
    for(int j = i+1; j<9; j++){
      if(total - height[i] - height[j] == 100){
         for (int k=0; k<9; k++) {
                if (i == k || j == k) continue;
                cout << height[k] << '\n';
        }
        return 0;
      }
    }
  }
  return 0;

}

아홉명 중에 일곱 난쟁이를 찾는 문제이다. 

일곱 난쟁이의 키의 합은 100이다. 

 

1) 경우의 수를 구해보자:

9C2이다. 

즉, 36가지 이다. 

 

2)코드로 옴기면 위와 같다. 7명을 고르는건 9명중 두명을 고르는것과 같다. 

 

 

return 0은 매우 중요하다. 없으면 통과하지 못한다. 

 

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

백준 1476번 : 날짜 계산  (0) 2020.08.15
백준 3085번 - 사탕게임  (0) 2020.08.14
백준 1316번 - 그룹단어 체커  (0) 2020.07.30
백준 7568번 - 덩치  (0) 2020.07.30
백준 1436번 - 영화감독 숌  (0) 2020.07.30