BOJ : 차이를 최대로 [10819]

재현·2021년 2월 21일
0

1. 문제


N개의 정수로 이루어진 배열 A가 주어진다. 이때, 배열에 들어있는 정수의 순서를 적절히 바꿔서 다음 식의 최댓값을 구하는 프로그램을 작성하시오.

|A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]|

출처 : https://www.acmicpc.net/problem/10819

2. 아이디어


  • mine
    1. 배열의 모든 경우의 수를 대비
    2. 각 배열의 합을 구하고 최댓값 출력

3. 코드


mine

import sys
from itertools import permutations

in = lambda : sys.stdin.readline().strip()
result = 0
n = int(input())
a = list(map(int, input().split()))
p = list(permutations(a,n))

for i in p:
    sum = 0
    l = list(i)
    for j in rnage(1,n):
        s += abs(l[j]-l[j-1])
    result = max(result,sum)

print(result)
컴파일 에러 : 다시 풀 것!
profile
성장형 프로그래머

0개의 댓글