알고리즘
1. 모든 배열 케이스를 확인해주기 위해서 permutarion으로 배열 케이스를 모두 생성해준다.
2. 생성된 배열 케이스의 |A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]|를 확인해준다.
최종코드
from itertools import permutations
n = int(input())
li = list(map(int,input().split()))
per = permutations(li)
ans = 0
for i in per:
case = 0
for j in range(1, len(i)):
case += abs(i[j-1] - i[j])
if case > ans:
ans = case
print(ans)
알게된 점
1. 모든 순서를 고려한 배열을 생성하고 싶을 때 permutations를 활용하면 된다.
2. for 문 내에서 값을 갱신해주는 방법. list가 반드시 효율적인건 아니다. 변수 값으로 계속 최댓값을 갱신해주는 방법.
'PS > BOJ&Programmers' 카테고리의 다른 글
[백준/1021] 회전하는 큐 | python deque | dequed의 rotate() (0) | 2023.02.12 |
---|---|
[백준/15821] 낚이고 낚아라 | 배열 2칸씩 묶기 _ range()의 활용 (2) | 2023.02.05 |
[백준/3029] 경고 | 파이썬 (0) | 2023.01.29 |
[백준/15656] N과 M(7) (0) | 2023.01.29 |
[백준/11383] 뚊 | 2차원 이미지 | 행렬 한줄씩 걷어내기(?) (0) | 2023.01.28 |