8. 차이를 최대로
- N개의 정수로 이루어진 배열 A가 주어진다. 이 때, 배열에 들어있는 정수의 순서를 적절히 바꿔서 다음 식의 최댓값을 구하는 프로그램을 작성
-
A[0]-A[1] + A[1] - A[2] + … + A[N-2] - A[N-1] -
첫째 줄에 N(3<=N<=8)이 주어진다.
- 규칙이 뭘까. 없는 것 같다. -> 모든 순열을 구해서 최댓값이 가장 큰 걸 출력한다.
- 내부 라이브러리 사용하자.
from itertools import permutations as pe
from sys import stdin
input = stdin.readline
T = int(input())
arr = map(int, input().split())
MAX = 0
for i in pe(arr):
result = 0
for j in range(len(i)-1):
result += abs(i[j] - i[j+1])
# print(i[j], i[j +1], abs(i[j]-i[j+1]))
if result > MAX:
MAX = result
print(MAX)
참고자료