본문 바로가기
코딩테스트/Python

[프로그래머스][파이썬] 연속 부분 수열 합의 개수

by 포뇨j 2023. 12. 5.

https://school.programmers.co.kr/learn/courses/30/lessons/131701

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

def solution(elements):
    arr = elements * 2 #[7,9,1,1,4,7,9,1,1,4]
    s = set()
    
    #수열의 길이별 합
    for i in range(len(elements)):
        for j in range(len(elements)):
            s.add(sum(arr[j:j+i+1]))
            
    return len(s)

 

  • elements([7,9,1,1,4]) 배열에 2를 곱하여 [7,9,1,1,4,7,9,1,1,4] 수열의 길이별로 합을 구하도록 했다.
  • 그리고 set() 집합 자료형을 이용해서 중복되는 수를 제거한 다음 return하도록 했다.