티스토리 뷰

#include <stdio.h>

int main(void) {
	int sum = 0;
	int arr[9] = {};
	for(int i=0; i<9; i++) { //9개 입력
		scanf("%d", &arr[i]);
		sum += arr[i];
	}
	
	for(int i=0; i<9; i++) { //버블정렬
		for(int j=0; j<8; j++) {
			if(arr[j] > arr[j+1]) {
				int tmp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = tmp;
			}
		}
	}
	
	
	for(int i=0; i<8; i++) //부르트 포스
	for(int j=i+1; j<9; j++)
	{
		if(sum-arr[i]-arr[j] == 100) {
			for(int l = 0; l<9; l++) {
				if(l == i || l == j);
				else printf("%d\n", arr[l]);
			}
			return 0;
		}
	}
	
}

풀이 : 브루트 포스

 

0. 9개의 키를 입력받습니다.

1. 오름차순 정렬합니다.

2. 모든 키를 더한 것에서 2개를 제하였을 때, 100 이라는 결과가 나오면, 제한 2개를 제외하고, 나머지 키를 출력한다음 main함수를 종료합니다.

 

https://www.acmicpc.net/problem/2309

 

2309번: 일곱 난쟁이

아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다.

www.acmicpc.net

 

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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 31
글 보관함