💡문제접근
- 전에 풀었던 [[백준] 1744번 수 묶기]와 동일한 유형의 문제였다. 양수 리스트와 음수 리스트를 따로 만들어서 접근하면 해결할 수 있다.
💡코드(메모리 : 31256KB, 시간 : 56ms)
import sys
input = sys.stdin.readline
N, M = map(int, input().strip().split())
book = list(map(int, input().strip().split()))
plus_book = []
minus_book = []
temp = 0
for i in book:
if i >= 0:
plus_book.append(i)
else:
minus_book.append(i)
if abs(i) > temp:
temp = abs(i)
plus_book.sort(reverse=True)
minus_book.sort()
distance = 0
for i in range(0, len(plus_book), M):
if plus_book[i] != temp:
distance += plus_book[i] * 2
for i in range(0, len(minus_book), M):
if abs(minus_book[i]) != temp:
distance += abs(minus_book[i]) * 2
distance += temp
print(distance)
💡소요시간 : 24m