-
문제
https://www.acmicpc.net/problem/10819
10819번: 차이를 최대로
첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다.
www.acmicpc.net
How to Solve ?
특정한 규칙을 찾기에는, 어떤 경우에 최대 값이 나오는지 알기가 어려웠다. 따라서 주어진 길이로 만들 수 있는 모든 순열(중복X, 순서O)을 만들어서 비교하면 끝난다.
function dfs(cnt) {if (cnt === n) {permu_arr.push(output.join(" "));return;}for (let i = 0; i < n; i++) {if (visited[i]) continue;visited[i] = 1;output.push(nums[i]);dfs(cnt + 1);output.pop();visited[i] = 0;}}function solve() {let answer = -Infinity;for (let i = 0; i < permu_arr.length; i++) {let sum = 0;permu_arr[i] = permu_arr[i].split(" ");for (let j = 1; j < n; j++) {sum += Math.abs(permu_arr[i][j] - permu_arr[i][j - 1]);}answer < sum ? (answer = sum) : answer;}console.log(answer);}const n = 6;const output = [];const permu_arr = [];const nums = [20, 1, 15, 8, 4, 10];const visited = Array(n).fill(0);dfs(0);solve();'PS > 백준' 카테고리의 다른 글
[백준_20365] 블로그2 ( 그리디 - 자바스크립트 ) (0) 2021.06.17 [백준_10971] 외판원 순회2 ( 브루트포스 - 완전탐색 ) (0) 2021.06.16 [백준_10972] 다음 순열 ( 브루트포스 - 자바스크립트 ) (0) 2021.06.16 [백준_1107] 리모컨 ( 브루트포스 - 자바스크립트 ) (0) 2021.06.15 [백준_3085] 사탕게임 ( 브루트포스 - 자바스크립트 ) (0) 2021.06.15