Skip to content

Commit 78afe04

Browse files
author
hangyeol
committed
96차 3번 문제 풀이
1 parent 0b42dbb commit 78afe04

1 file changed

Lines changed: 20 additions & 0 deletions

File tree

live9/test96/문제3/백한결.py

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
def solution(elements):
2+
prefix_sum = [0] * (len(elements) + 1)
3+
sums = set()
4+
5+
for i in range(len(elements)):
6+
prefix_sum[i + 1] = prefix_sum[i] + elements[i]
7+
8+
for length in range(1, len(elements) + 1):
9+
for start in range(len(elements)):
10+
end = (start + length) % len(elements)
11+
12+
# 일반적인 수열이므로 end까지의 합에서 start까지의 합을 뺌
13+
if start < end:
14+
part_sum = prefix_sum[end] - prefix_sum[start]
15+
# 원형 수열이므로 전체의 합에서 start까지의 합을 빼고 end까지를 더함
16+
else:
17+
part_sum = (prefix_sum[len(elements)] - prefix_sum[start]) + prefix_sum[end]
18+
sums.add(part_sum)
19+
20+
return len(sums)

0 commit comments

Comments
 (0)