DevBoi

[브루트포스] 백준 - 2798 본문

Algorithm/[BruteForce]

[브루트포스] 백준 - 2798

HiSmith 2021. 10. 12. 18:17
반응형

package com.smith.BruteForce;

 

import java.util.*;

 

public class BOJ2798 {

static int N =500;

static List<Integer> answerList = new ArrayList<>();

static int answer= Integer.MAX_VALUE;

static int[] arr =  {93,181,245,214,315,36,185,138,216,295};

static boolean[] check = new boolean[10];

public static void main(String[] args) {

 

sol(0);

System.out.println(answer);

}

public static void sol(int num)

{

if(answerList.size() == 3)

{

int target = N;

for(Integer a : answerList)

{

target = target - a;

}

 

if(answer > Math.abs(target))

answer = Math.abs(target);

 

}

else

{

for(int i=num;i<arr.length;i++)

{

if(!check[i])

{

answerList.add(arr[i]);

check[i] = true;

sol(num+1);

answerList.remove(answerList.size()-1);

check[i] = false;

}

}

}

 

}

 

 

}

 

 

카드가 중복이되면 안되고, 재귀를 사용하여, 123,234, 124 이런식으로 체크를 해야하기 때문에

별도 방문 배열을 만들어서 체크한다.

재귀를 타고 난뒤에는, 방문 함수와 listadd를 원상복귀 시켜준다.

반응형

'Algorithm > [BruteForce]' 카테고리의 다른 글

[브루트 포스] 백준 - 9663  (0) 2021.10.18
[브루트 포스] 백준 - 2309  (0) 2021.10.14
[브루트 포스] 백준 - 7568  (0) 2021.10.14
[브루트 포스] 백준 - 2231  (0) 2021.10.13
[브루트포스] 백준 - 1065  (0) 2021.10.12