[프로그래머스 Lv.2] 연속 부분 수열의 합 (Python)

지윤·2023년 6월 6일

👩🏻‍💻

문제를 보자마자 이해가 안됐고, 다른 문제와 다르게 의지가 꺾인(?) 문제였다. 문제를 이해하려고 노력해야 했는데 이 문제는 도저히 솔루션이 생각나지 않아서 건너뛴 문제이다. 3일 뒤에 다시 풀었는데 왜 건너뛰었는지 의문이 들 정도로 어렵지 않게 풀렸다...

길이가 1인 리스트의 합, 2인 리스트의 합, 3인 리스트의 합 ... 등 원의 칸만큼 합을 구해주면 된다. (이중 for문 사용)

elements[j:j+i+1] 를 통해 슬라이싱 해주었고, 어차피 set에 넣어줄 것이기 때문에 중복 걱정은 없었다.

문제는 해당 합들의 개수를 구하는 것이기 때문에 len으로 set의 길이를 구해주어 리턴했다.


이 문제를 통해 나의 독해력에 문제를 느꼈으며,, 앞으로 의지가 꺾여도 다시 한 번 풀어보고자 한다.

코드

def solution(elements):
    answer = 0
    numberSet = set()
    
    elementLen = len(elements)
    elements = elements * 2
    
    for i in range(elementLen):
        for j in range(elementLen):
            numberSet.add(sum(elements[j:j+i+1]))
            
    answer = len(numberSet)
    return answer
profile
떠돌이 컴공

0개의 댓글