10819 : 차이를 최대로

서희찬·2021년 10월 29일
0

백준

목록 보기
69/105

문제

코드

import sys
from itertools import permutations #순열 가져오기 
input=sys.stdin.readline

m = int(input())
arr = list(map(int,input().split())) ## 숫자입력시 list선언 필수 

per = permutations(arr) #순열 리스트 생성 
MAX = 0 

for i in per:
    total = 0
    for j in range(m-1):
        total+=abs(i[j]-i[j+1])
    if total > MAX : #최댓값보다 큼 
        MAX = total  

print(MAX)

해설

그냥 구현할려다가 순열에서 머리터져서 그냥.... 라이브러리의 도움을 구해서 순열함수를 사용했다.
순열함수는 매번 보기만했지 직접사용한건 처음인데.. 되게 신세계였다.

per = permutations(arr,원하는만큼) 

이렇게만 하면 arr를 순열로 모든케이스 튜플을 만드는 것이였다..!
대박... 이제 그냥 사용해야지 헷...

쨌든 이렇게 순열을 가져올줄만 안다면 이 이후로는 되게싶다.
그냥 순열튜플의 첫번째꺼 가져와서... 조건에 맞게 계산해보고 max란 변수를 통해서 최댓값을 주어나가면 되기때문이다!

앗 그리고 깜박한게 있는데

arr = list(map(int,input().split())) ## 숫자입력시 list선언 필수 

맵으로 리스트 int값 입력받을때 list선언 잊지말자 !

profile
부족한 실력을 엉덩이 힘으로 채워나가는 개발자 서희찬입니다 :)

0개의 댓글