본문 바로가기
문제 풀이/백준(BOJ)

[Python] 백준 10819번 : 차이를 최대로

by 희조당 2022. 8. 1.
728x90

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

 

10819번: 차이를 최대로

첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다.

www.acmicpc.net


💡 문제 풀이

브루트 포스 문제이다.

 

permutation으로 6자리의 순열을 만들어 셈을 해준 후 최댓값을 최신화해주면 된다.

✔️ 느낀 점

처음에 어떤 공식을 만들려고 생각했지만 굳이 그럴 필요가 없음을 알게되어서 바로 해결했다.

💻 코드

import sys, itertools
input = sys.stdin.readline

N = int(input())
arr = list(map(int, input().split()))

max_ = 0
for c in itertools.permutations(arr,N):
    tmp = 0
    for i in range(N-1):
        tmp += abs(c[i] - c[i+1])
    
    max_ = max(max_, tmp)

print(max_)

댓글