프로그래머스 LV2 - 연속 부분 수열 합의 개수
내 풀이
from collections import deque
def solution(elements):
answer = []
k = 1
while k <= len(elements):
n_deque = deque(elements)
new_elements = elements
for _ in range(len(elements)):
hap = sum(new_elements[:k])
answer.append(hap)
n_deque.rotate(1)
new_elements = list(n_deque)
k += 1
return len(set(answer))
다른 풀이
def solution(elements):
answer = 0
cycle = elements + elements
s = set()
for i in range(len(elements)):
for j in range(len(elements)):
s.add(sum(cycle[i:i+j]))
return len(s)
풀이 해석
- 리스트 두개를 이어 붙여서 풀었다
- set을 이용해 중복항을 없앴다
- for문 두개를 이용하였다
배울 점
- list 두개를 붙이는 사고
댓글남기기