https://school.programmers.co.kr/learn/courses/30/lessons/131701?language=python3
def solution(elements):
num=len(elements) #수열의 길이를 num 변수에 저장
elements=elements*2 #수열을 2배로 늘림
answer=[]
for n in range(1,num):
for i in range(0,num):
answer.append(sum(elements[i:i+n])) #부분 수열의 합을 answer 리스트에 추가
return len(list(set(answer)))+1 #중복을 제거
이 문제는 원형 수열의 부분합을 구하는 문제이다.
문제는 원형으로 순환하기때문에 문제를 단순하게 풀기위해 수열에 x2를 해줌으로써 순환할 수 있도록 하였다.
처음 수열의 길이를 num이라는 변수에 저장하고,
1부터 num까지 순환하면서 부분 수열의 합을 answer 리스트에 추가해주었다.
마지막으로 list(set())을 활용하여 정답 리스트의 중복을 제거하였다.