14225부분수열의 합

LJM·2023년 1월 13일
0

백준풀기

목록 보기
32/259

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

import java.io.*;
import java.util.*;

public class Main {


    static int count;//입력 받는 수열의 원소 개수
    static int[] inputArr;//입력받은 수열
    static HashSet<Integer> sumList = new HashSet<>();//부분집합의 합. 리스트

    public static void inputProcess()
    {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] input;

        try
        {
            count = Integer.parseInt(br.readLine());
            input = br.readLine().split(" ");
            inputArr = new int[count];
            for(int i = 0; i < count; ++i)
            {
                inputArr[i] = Integer.parseInt(input[i]);
            }
        }
        catch(IOException e)
        {
            e.printStackTrace();
        }

    }


    public static void main(String[] args) {

        inputProcess();

        search(0, 0);

        for(int i = 0; i <= 20*100000; ++i)
        {
           if(false == sumList.contains(i))
           {
               System.out.println(i);
               break;
           }
        }

    }

    public static void search(int level, int sum)
    {
        if(level == count)
        {
            sumList.add(sum);
            return;
        }

        search(level+1, sum);
        search(level+1, sum + inputArr[level]);

    }
}
profile
게임개발자 백엔드개발자

0개의 댓글