소스코드

순열 모듈 사용

import sys
from itertools import permutations

input = sys.stdin.readline
N = int(input().strip())
A = list(map(int, input().strip().split()))

permu_arr = permutations(A)
max_result = 0
for list in permu_arr:
	temp_result = 0
	for i in range(N-1):
		temp_result += abs(list[i] - list[i+1])
	
	max_result = max(max_result, temp_result)

sys.stdout.write(f"{max_result}\\n")

재귀함수 사용

import sys
input = sys.stdin.readline

N = int(input().strip())
A = list(map(int, input().strip().split()))
max_result = 0
visited = [False] * (N)

def dfs(depth, seq):
	# 재귀함수 종료 조건
	if depth == N:
		total = 0
		
		for i in range(N-1):
			total += abs(seq[i] - seq[i+1])
		max_result = max(max_result, total)
		return
		
	for i in range(N):
		if not visited[i]:
			visited[i] = True
			seq.append(A[i])
			dfs(depth+1, seq)
			seq.pop()
			visited[i] = False

dfs(1, [])
sys.stdout.write(f"{max_result}\\n")

풀이

순열 모듈 사용

재귀함수 사용