We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 0b42dbb commit 78afe04Copy full SHA for 78afe04
1 file changed
live9/test96/문제3/백한결.py
@@ -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