[백준] 11399: ATM - 파이썬[python]

다인·2024년 11월 11일

백준

목록 보기
104/112
post-thumbnail

코드

import sys
input = sys.stdin.readline

N = int(input())
lst = list(map(int, input().split()))
lst.sort()
time = [lst[0]]

for i in range(1, N):
    time.append(time[i-1] + lst[i])

print(sum(time))
  • 앞에서 계속 DP를 풀었어서 앞에까지 구한 걸 이용해서 더했다.

슬라이싱을 이용

import sys
input = sys.stdin.readline

N = int(input())
lst = list(map(int, input().split()))
lst.sort()
res = 0

for i in range(N+1):
    res += sum(lst[:i])

print(res)
  • 구글링을 통해서 간단하게 슬라이싱을 이용한 코드도 있어서 작성해보았다.
  • 작성하면서 실수한 것! lst[:i]라고 적으면 0~i-1까지를 더하는 거다. 그래서 range(N)이 아니라 range(N-1)라고 한다!!!

결과

  • 내가 한 코드가 미리 저장해서 다시 계산을 안 해서 그런지 더 빠르긴 하다
  • 역시 코드가 짧다고 더 빠른 건 아님

0개의 댓글