반응형
2309번: 일곱 난쟁이
아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.
www.acmicpc.net
모든 난쟁이의 키를 더한 다음 100을 빼준 값을 sum에 저장한다. 두 수의 합이 sum을 만족하는 숫자 두 개를 찾기만 하면 된다.
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
int x[9];
int sum = -100;
for(int i = 0; i < 9; i++){
cin >> x[i];
sum += x[i];
}
sort(x, x+9);
int chk = 0;
int no1, no2;
// 두 수의 합이 sum이 되는 숫자 두 개 구한다
for(int i = 0; i < 9; i++){
for(int j = i + 1; j < 9; j++){
if(x[i] + x[j] == sum){
chk = 1;
no1 = i;
no2 = j;
break;
}
}
if(chk == 1)
break;
}
for(int i = 0; i < 9; i++){
if(i == no1 || i == no2)
continue;
cout << x[i] << endl;
}
return 0;
}
반응형
'알고리즘 문제풀이 > 추천 문제' 카테고리의 다른 글
[ 백준 2693 ] N번째 큰 수 (C++) (0) | 2022.01.17 |
---|---|
[ 백준 2609 ] 최대공약수와 최소공배수 (C++) (0) | 2022.01.17 |
[ 백준 10870 ] 피보나치 수 5 (C++) (0) | 2022.01.17 |
[ 백준 2460 ] 지능형 기차2 (C++) (0) | 2022.01.17 |
[ 백준 10818 ] 최소, 최대 (C++) (0) | 2022.01.17 |