뚱땅뚱땅

[문제] 백준 10819번 차이를 최대로 본문

알고리즘/백준

[문제] 백준 10819번 차이를 최대로

양순이 2021. 2. 5. 15:32
728x90

* 출처: 백준 www.acmicpc.net/problem/10819

 

10819번: 차이를 최대로

첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다.

www.acmicpc.net

내 생각

 

단순 브루트포스 문제

public class Main {
	static int[] numbers;
	static int N;
	static int max; 
	public static void main(String[] args) throws IOException {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		
		N = Integer.parseInt(in.readLine());
		String s[] = in.readLine().split(" ");
		numbers = new int[N];
		max = 0;
		
		for(int i = 0;i<N;i++) {
			numbers[i] = Integer.parseInt(s[i]);
		}
		permutation(0,new int[N], new boolean[N]);
		System.out.println(max);
	}
	
	static void permutation(int toSelect, int[] selected, boolean[] visited) {
		if(toSelect == N) {
			int sum = 0;
			for(int i=1;i<N;i++) {
				sum += Math.abs(selected[i]- selected[i-1]);
			}
			if(max<sum) {
				max = sum;
			}
			return;
		}
		
		for(int i=0;i<N;i++) {
			if(!visited[i]) {
				visited[i] = true;
				selected[toSelect] = numbers[i];
				permutation(toSelect+1, selected, visited);
				visited[i] = false;
			}
		}
	}
}
728x90

'알고리즘 > 백준' 카테고리의 다른 글

[문제] 백준 1935번 후위 표기식2  (0) 2021.02.07
[문제] 백준 1918번 후위표기식  (0) 2021.02.07
[문제] 백준 2493번 탑  (0) 2021.02.04
[문제] 백준 6603번 로또  (0) 2021.02.04
[문제] 백준 1992번 쿼드트리  (0) 2021.02.04
Comments