Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 그리디
- 프로그래머스
- 다이나믹 프로그래밍
- 스택
- level0
- dfs
- MYSQL
- 가상메모리
- DP
- 수학
- N과M
- 딕셔너리
- BFS
- level2
- level1
- programmers
- 운영체제
- 재귀
- 백준
- level3
- dict
- 다익스트라
- 구현
- 힙
- 파이썬
- 가상메모리 관리
- 코딩테스트
- BOJ
- python
- 브루트포스
Archives
- Today
- Total
동캄의 코딩도장
프로그래머스 level2 [연속 부분 수열 합의 개수] 파이썬 본문
https://school.programmers.co.kr/learn/courses/30/lessons/131701
# 프로그래머스 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)로 설정하여 부분 합들을 구하였다.
'코테 > 프로그래머스' 카테고리의 다른 글
프로그래머스 level2 [숫자 변환하기] 파이썬 (0) | 2023.04.05 |
---|---|
프로그래머스 level2 [할인 행사] 파이썬 (0) | 2023.04.05 |
프로그래머스 level2 [귤 고르기] 파이썬 (0) | 2023.04.05 |
프로그래머스 level1 [푸드파이트 대회] 파이썬 (0) | 2023.04.04 |
프로그래머스 level1 [콜라 문제] 파이썬 (0) | 2023.04.04 |