코테/프로그래머스
프로그래머스 level2 [연속 부분 수열 합의 개수] 파이썬
동 캄
2023. 4. 5. 17:11
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/131701
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
# 프로그래머스 level2 연속 부분 수열 합의 개수
from collections import deque
def solution(elements):
answer = 0
sets=set()
for length in range(1,len(elements)+1):
l=[]
s=0
for i in range(-(length),0):
s+=elements[i]
l.append(elements[i])
sets.add(s)
for i in range(len(elements)):
sub_=l.pop(0)
s-=sub_
s+=elements[i]
sets.add(s)
l.append(elements[i])
answer=len(sets)
return answer
set을 이용하여 경우의 수를 저장하였다.
N개의 연속합의 시작점을 l[-N]으로 설정하고, 끝은 len(elements)로 설정하여 부분 합들을 구하였다.
반응형