요약
어차피 마지막으로 남게되는 숫자는 1이기 때문에 제일 큰수부터 1이남을때까지 양쪽차중에 적은수를 더해주면 된다.
INF = 2147000000
n = int(input())
toner = [INF] + list(map(int, input().split())) + [INF]
ans = 0
while n >= 2:
idx = toner.index(n)
ans += min(abs(toner[idx] - toner[idx-1]), abs(toner[idx] - toner[idx+1]))
del toner[idx]
n -= 1
print(ans)
'알고리즘 > BOJ' 카테고리의 다른 글
[Python] 백준 3687번: 박스 채우기 (0) | 2021.09.14 |
---|---|
[Python] 백준 1493번: 박스 채우기 (0) | 2021.09.14 |
[Python] 백준 2879번: 코딩은 예쁘게 (0) | 2021.09.14 |
[Python] 백준 17619번: 개구리 점프 (0) | 2021.09.14 |
[Python] 백준 2141번: 우체국 (0) | 2021.09.14 |
댓글