728x90
반응형

VERSION 2.0

 

import sys
from collections import deque
#p1 = 3 , p2 = 1 , p3 = 4 , p4 = 3, p5 =2  ==> 인출하는데 걸리는 시간

#[1,2,3,4,5] ==> 1번은 3분, 2번은 4분 , 3번은 3+1+4 = 8분 , 4번은 3+1+4+3= 11분 , 5번 13분
#3+4+8+11+13 = 15+24 = 39분

#[2,5,1,4,3] 순서 ==> 2번 1분 , 5번 1+2 =3분 , 1번 1+2+3 = 6분 , 4번 1+2+3+3 = 9
# 3번 1+2+3+3+4 = 13분 ==> 32분

#==시간이 작은거 순서대로 배열

N = int(sys.stdin.readline())

A = list(map(int,sys.stdin.readline().split(' '))) #인출하는데 걸리는 시간
A = deque(sorted(A))
B =deque()
res = 0
while len(A)>=1:
    a = A.popleft()
    # print(a)
    res+= a
    B.append(res)

print(sum(B))

==> DEQUE 활용하여 풀어보았다

 

VERSION 1.0

import sys

A= int(sys.stdin.readline())
B = list(map(int, sys.stdin.readline().split(' ')))

B = sorted(B , reverse = False)
#print(B)

for i in range(len(B)-1):
    B[i+1] += B[i]

print(sum(B))

인출수가 적은 순서대로 하기위해 SORTED()함수 활용==> 누적합 알고리즘 활용 ==> SUM()함수 통해 구했다.

 

정렬알고리즘 참고 

728x90
반응형

+ Recent posts