Algorithm

백준_일곱난쟁이_2309

Young_J 2020. 10. 5. 23:58

//알고리즘

1. 조합문제

2. 모든 조합의 경우를 다 구해서 결과 출력

※조합 연습하기 좋은문제 같음.

 

import java.util.Arrays;
import java.util.Scanner;

public class 일곱난쟁이 {
	static int[] arr = new int[9];
	static int[] numbers = new int[7];
	static int max = 100, sum, ans;

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);

		for (int i = 0; i < arr.length; i++) {
			arr[i] = sc.nextInt();
		}

		combination(0, 0);

	}

	private static void combination(int idx, int start) {
		if (idx == numbers.length) {
			sum = 0;
			for (int i = 0; i < numbers.length; i++) {
				sum += numbers[i];
			}
			if (max - sum == 0) {
				Arrays.sort(numbers);
				for (int i = 0; i < numbers.length; i++) {
					System.out.println(numbers[i]);
				}

			}
			return;
		}

		for (int i = start; i < arr.length; i++) {
			numbers[idx] = arr[i];
			combination(idx + 1, i + 1);
		}

	}

}