백준10819(파이썬) - 차이를 최대로
resilient
·2021. 7. 12. 13:54
728x90
반응형
https://www.acmicpc.net/problem/10819
- 먼저 입력 값을 받고 permutations함수를 이용하여 n개로 묶을 수 있는 경우의 수를 모두 구해서 리스트로 만들어준다.
- 구한 경우의 리스트들을 for문을 통해 탐색하면서 이전 숫자에서 현재 숫자를 뺀 값을 절댓값을 씌워서 ans에 각각 더해준다.
- 경우의 리스트들을 모두 탐색하면서 ans의 최대값을 계속 해서 갱신한다.
import sys
from itertools import permutations
input = sys.stdin.readline
n = int(input())
data = list(map(int,input().split()))
data_list = list(permutations(data,n))
result = 0
for i in range(len(data_list)):
ans = 0
for j in range(1,len(data_list[i])):
ans += abs(data_list[i][j-1] - data_list[i][j])
result = max(ans,result)
print(result)
반응형
'자료구조 & 알고리즘 > 백준(Baekjoon)' 카테고리의 다른 글
백준10972(파이썬) - 다음 순열 (0) | 2021.07.15 |
---|---|
백준14500(파이썬) - 테트로미노 (0) | 2021.07.14 |
백준10971(파이썬) - 외판원 순회2 (0) | 2021.07.11 |
백준1495(파이썬) - 기타리스트 (2) | 2021.07.10 |
백준1021(파이썬) - 회전하는 큐 (0) | 2021.07.09 |