핵심 포인트
활용 방법
- 첫번째 방식(내장함수 사용)
import itertools
N=int(input())
arr=list(map(int,input().split()))
i=0
result=0
for perm in itertools.permutations(arr):
temp=0
perm_list = list(perm)
for i in range(len(perm_list)-1):
temp += abs(perm_list[i]-perm_list[i+1])
temp = max(temp,result)
result=temp
print(result)
import sys
input= sys.stdin.readline
N=int(input())
arr=list(map(int,input().split()))
i=0
visited = [False]*len(arr)
pickednum=[]
result=0
def permutation(cnt,depth):
global result
if cnt ==depth:
temp=0
for i in range(len(pickednum)-1):
temp += abs(pickednum[i]-pickednum[i+1])
temp = max(temp,result)
result =temp
return
for index in range(len(arr)):
if visited[index]==False:
visited[index]=True
pickednum.append(arr[index])
permutation(cnt+1,depth)
# 백트래킹 하기 위해 되돌림
pickednum.pop()
visited[index]=False
permutation(0,len(arr))
print(result)