728x90
반응형
문제 출처: https://school.programmers.co.kr/learn/courses/30/lessons/131701
풀이:
def solution(elements):
elements_set = set(i for i in elements)
elements = 2 * elements
for i in range((len(elements)//2)):
for j in range(2,(len(elements)//2) + 1):
elements_set.add(sum(elements[i:i+j]))
print(len(elements_set))
내가 생각한 방법은
elemets = [1,5,3,6,8]
일단 1개씩일경우 를 elements_set 에 넣어주었고
최대 5개 일 경우는 8,1,5,3,6 이기 때문에
elemetns를 2배를 해줬다.
첫번째 포문에 시작점을 알려주는 i
i가8 일경우 주어지는 elements 안에서 인덱스 값이 4 이기때문에
바뀐 elements // 2 까지 해준다.
두번째 포문은 끝점을 알려주는 j
1개 일때는 컴프리핸션으로 넣어줬으니 제외
2 부터 전체갯수까지
elements[시작부분: 끝부분] 을 해주면 된다
원형리스트를 쓰면 될거같긴한데 잘 못하겠다
반응형
댓글