Notice
Recent Posts
Recent Comments
Link
궤도
[EPPER] 12회 7번 본문
문제
풀이
9개의 숫자 중 합쳐서 100이 되는 7개의 숫자를 찾는 문제이다. 달리 말하면 해당 숫자를 뺀 총합이 100이 되는 숫자 2개를 찾는 문제다.
일단 9개 숫자의 총합을 구하고 그 결과에서 100을 뺀다. 그 결과를 n이라고 치면, 이제 합쳐서 n이 되는 숫자 2개를 찾으면 된다. 숫자가 여러개였으면 백트래킹을 사용했겠지만, 2개라서 그냥 for loop 2개로 했다. 찾은 즉시 break로 빠져나오고 남은 수를 출력한다.
소스코드
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int arr[9];
int obj_num = 0;
int x, y;
for (int i = 0; i < 9; i++) {
scanf("%d", &arr[i]);
obj_num += arr[i];
}
obj_num -= 100; //전체 합에서 100을 빼면 목표하는 수가 나옴
for (int i = 0; i < 8; i++) {
for (int j = i + 1; j < 9; j++) {
if (arr[i] + arr[j] == obj_num) { //2개 뽑아서 목표 숫자와 같은지 확인
x = i;
y = j;
break;
}
}
}
for (int i = 0; i < 9; i++) { //뽑힌 수 제외하고 출력
if (i != x && i != y)
printf("%d ", arr[i]);
}
}
Comments