알고리즘 문제풀이/백준

#2309 : 일곱 난쟁이

모항 2022. 6. 12. 02:28

풀이방법

사용된 것:

정렬

브루트포스 알고리즘

 

2022.06.12

주어지는 난쟁이가 9명밖에 안 되므로 브루트포스로 쉽게 풀 수 있는 문제이다.

9명 중 7명을 골라내는 문제이므로, 제외할 2명만 알아내면 된다.

9명 중 2명을 고르는 경우의 수는 72가지이다.

72가지를 모두 해보고, 키의 합이 100이 되는 경우가 발견되면 즉시 화면에 정답을 출력한다.

 

코드

Java(2022.06.12)

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Main {

	public static void main(String[] args) throws IOException{
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int[] dwarves = new int[9];
		for(int i=0; i<9; i++) {
			dwarves[i] = Integer.parseInt(br.readLine());
		}
		Arrays.sort(dwarves);
		
		for(int i=0; i<8; i++) {
			for(int j=i+1; j<9; j++) {
				int sum = 0;
				for(int k=0; k<9; k++) {
					if(k != i && k != j) sum += dwarves[k];
				}
				//정답이 발견된 경우 정답 출력 및 프로그램 종료
				if(sum == 100) {for(int k=0; k<9; k++) if(k != i && k != j) System.out.println(dwarves[k]); System.exit(0);}
			}
		}
		
	}

}

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

#10825 : 국영수  (0) 2022.06.12
#2217 : 로프  (0) 2022.06.12
#1302 : 베스트셀러  (0) 2022.06.12
#1059 : 좋은 구간  (0) 2022.06.12
#3187 : 양치기 꿍  (0) 2022.06.09