문제
코드
My answer
import random
from itertools import permutations
n=int(input())
answer,tanswer=0,0
tmp=list(map(int,input().split()))
for i in permutations(tmp,n):
for j in range(len(i)):
if(j!=len(i)-1):
tanswer+=abs(i[j]-i[j+1])
answer=max(tanswer,answer)
tanswer=0
print(answer)
Another answer
from itertools import*
input()
print(max(sum(abs(a-b)for a,b in zip(c,c[1:]))
for c in permutations(map(int,input().split()))))
풀이
이 문제는 따로 규칙이 없고, 그냥 모든 방법을 다해보는 브루트포스 문제다. 이런 문제를 풀 떄 어떤 알고리즘으로 풀어야 되는지를 빨리 파악하는게 문제 푸는데 제일 중요한 것 같다. 괜히 규칙 찾으려고 시간쓰다가 문제를 못 풀 수도 있기때문에.
728x90
반응형
'코딩테스트 > 백준[Python]' 카테고리의 다른 글
[Python] 백준 #1697- 숨바꼭질[try_again] (0) | 2021.12.30 |
---|---|
[Python] 백준 #10971- 외판원 순회 2 (0) | 2021.12.29 |
[Python] 백준 #9465- 스티커[try_again] (0) | 2021.12.21 |
[Python] 백준 #2193 - 이친수 (0) | 2021.12.21 |
[Python] 백준 #110570- 오르막 수 (0) | 2021.12.21 |