import itertools
n = int(input())
arr = list(map(int, input().split()))
arr.sort()
arr2 = list(itertools.permutations(arr, n))
res = 0
for i in range(len(arr2)):
cur = 0
for j in range(0, n - 1):
cur += abs(arr2[i][j] - arr2[i][j + 1])
if cur > res:
res = cur
print(res)
순열을 만들기 위해서itertools permutations함수를 사용했다
permutations는 순열을 구해주는 함수이다
순열 , 조합이 있는데
조합은 combinations 함수를 사용한다
순열은 [1,2] , [2,1]
이 두개를 다른것으로 취급하고
조합은 같은것으로 취급을 한다.
모든 경우의수를 확인하는 백트래킹 문제라서 모든 순열의 경우의수를 뽑아서 확인하는 방식으로했다
|가장큰수 - 가장작은수| + |가장작은수 - 두번째로큰수|...
이런방식으로 할려고했는데 접근이 틀렸었다.
그냥 전체의 경우의수를 확인해야했던 문제였다...
순열 , 조합 등 여러가지 공부를 하고 직접 구현을 해봐야하는데
라이브러리가 너무 편하다.....
참고링크
여기 링크에 들어가면 여러가지 많은 정보들이 있다.