반응형
10819번: 차이를 최대로
첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다.
www.acmicpc.net
코드 작성
from itertools import permutations
n = int(input())
arr = list(map(int, input().split()))
ans = 0
for per in permutations(arr): #2
temp = 0
for i in range(n-1):
temp += abs(per[i] - per[i+1])
ans = max(ans, temp)
print(ans)
코드 풀이
#1. itertools모듈
파이썬 itertools모듈에는 여러가지 함수들이 있는데
그 중에서 permutations인 조합순열을 사용하였다.
permutations를 사용할 때 n의 범위가 작아야 한다.
경우의 수가 매우 많기 때문에 출력초과가 나오기 쉽상이다.
문제에서 n의 범위가 3부터 8까지이기 때문에 가능하다.
#2. permutations을 for문을 사용할 때 위와같이 작성한다.
그리고 절대값 함수인 abs를 이용하여 temp의 최대값을 저장하여 출력한다.
반응형
'코딩 > Python' 카테고리의 다른 글
파이썬, openpyxl(6) 수식작성, 병합, 이미지삽입 (0) | 2023.03.31 |
---|---|
[Python] 백준 6603 로또 (0) | 2022.12.29 |
[Python] 백준 15667 (0) | 2022.12.24 |
[Python] 백준 10972 다음순열 (0) | 2022.12.24 |
[Python] 백준 1107 리모컨 (1) | 2022.12.21 |