-Code
n = int(input())
nums = list(map(int, input().split()))
accum = [nums[0]]
result = 0
for i in range(1, n):
accum.append(nums[i] + accum[i - 1])
for i in range(n):
num = nums[i] * (accum[n - 1] - accum[i])
result += num
print(result)
처음한 작성한 것은 시간초과가 나서 찾아보니 누적합을 이용하여 푸는 방법이 있었습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬] 20922번 겹치는 건 싫어 (0) | 2022.05.07 |
---|---|
[백준/파이썬] 11441번 합 구하기 (0) | 2022.05.07 |
[백준/파이썬] 11051번 이항 계수 2 (0) | 2022.05.07 |
[백준/파이썬] 9020번 골드바흐의 추측 (0) | 2022.05.07 |
[백준/파이썬] 4948번 베르트랑 공준 (0) | 2022.05.07 |