본문 바로가기
BaekJoon/Silver

[BOJ/JAVA] 백준 10819 : 차이를 최대로 (자바)

by HoonSikE 2022. 4. 8.
반응형
SMALL
문제 정보
  문제명   - 차이를 최대로
  난이도   - 실버 II
문제 번호 - 10819번

문제 링크

BOJ_S2_10819_차이를_최대로

 

10819번: 차이를 최대로

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

www.acmicpc.net


문제
N개의 정수로 이루어진 배열 A가 주어진다. 이때, 배열에 들어있는 정수의 순서를 적절히 바꿔서 다음 식의 최댓값을 구하는 프로그램을 작성하시오.

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

출력
첫째 줄에 배열에 들어있는 수의 순서를 적절히 바꿔서 얻을 수 있는 식의 최댓값을 출력한다.

예제 입력/출력
예제 입력 예제 출력
6
20 1 15 8 4 10
62

알고리즘 분류
● 브루트포스 알고리즘
 백트래킹

소스코드
package Lv2_Silver;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
/**
 * @author HanHoon
 * @category 브루트포스 알고리즘, 백트래킹
 * https://www.acmicpc.net/problem/10819
 */
public class BOJ_S2_10819_차이를_최대로 {
	static int N, result;
	static int[] arr;
	static int[] new_arr;
	static boolean[] isSelect;
	public static void backtracking(int count) {
		if(count == N) {
			int max = 0;
			for (int i = 0; i < N-1; i++)
				max += Math.abs(new_arr[i] - new_arr[i+1]);
			result = Math.max(max, result);
			return;
		}
		for (int i = 0; i < N; i++) {
			if(!isSelect[i]) {
				isSelect[i] = true;
				new_arr[count] = arr[i];
				backtracking(count+1);
				isSelect[i] = false;
			}
		}
	}
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = null;
		// 배열의 수
		N = Integer.parseInt(br.readLine());
		st = new StringTokenizer(br.readLine(), " ");
		arr = new int[N];
		new_arr = new int[N];
		isSelect = new boolean[N];
		for (int i = 0; i < N; i++)
			arr[i] = Integer.parseInt(st.nextToken());
		backtracking(0);
		System.out.println(result);
		br.close();
	}
}

 


BaekJoon List
 

BaekJoon List

BOJ Start!! ● [BOJ] 백준 회원가입, 시작하는 법 ● [BOJ] 등급(티어) 및 Solved.AC 적용 ● [BOJ/JAVA] 백준 소스코드 제출 시 유의사항(자바) Bronze ● Bronze V  - ● Bronze IV  - ● Bronze III  -..

han-hoon.tistory.com


  

기회는 준비된 자에게 찾아온다.

 


 

반응형
LIST

댓글