짱이 될거야
백준 10819: 차이를 최대로 Python 본문
https://www.acmicpc.net/problem/10819
10819번: 차이를 최대로
첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다.
www.acmicpc.net
N의 값이 3 <= n <= 8이므로 순열을 사용하기 적합하다. (순열은 N이 최대 15~20까지 가능)
import sys
input = sys.stdin.readline
def perm(n, k):
global result
if n == k:
ssum = 0
for i in range(N-1):
ssum += abs(arr[i]-arr[i+1])
result = max(result, ssum)
else:
for i in range(k, n):
arr[i], arr[k] = arr[k], arr[i]
perm(n, k+1)
arr[i], arr[k] = arr[k], arr[i]
N = int(input())
arr = list(map(int, input().split()))
result = 0
perm(N, 0)
print(result)
'알고리즘' 카테고리의 다른 글
백준 2468: 안전 영역 Python (0) | 2022.11.03 |
---|---|
Unity Text Color, Size Script에서 수정하기 (0) | 2022.11.02 |
백준 1012: 유기농 배추 Python (BFS) (0) | 2022.10.31 |
프로그래머스 SQL: 상품 별 오프라인 매출 구하기 [Oracle] (0) | 2022.10.28 |
프로그래머스 SQL: 년, 월, 성별 별 상품 구매 회원 수 구하기 [Oracle] (0) | 2022.10.28 |
Comments