이번 문제는 연속 부분 수열 합의 개수 이다.
전달받은 배열은 원형 수열로, 처음과 끝이 연결되어 있다.
따라서 위 원형 수열로 연속 부분 수열의 값을 구하면 위와 같고, 중복된 값을 제외하면 총 18개의 값을 얻을 수 있다.
위 설명에서 힌트를 얻을 수 있는건, 수열의 길이가 10 이라면 길이가 1 인 부분 수열부터 10인 부분 수열까지의 합의 가지수를 구해야 한다는 것이다.
코드는 생각보다 단순하다.
먼저 전달받은 elements 를 2배로 늘린 temp 를 하나 준비한다.
그리고 이중 반복문으로 temp 의 해당 구간의 합을 answer에 넣어준다.
그 뒤 set()을 이용해 중복값을 제거한 answer의 길이를 반환해 주면 된다.
'프로그래머스 퀴즈(Python) > level 2' 카테고리의 다른 글
23.02.13 파이썬 코딩 퀴즈#151 롤케이크 자르기 (프로그래머스 스쿨) (0) | 2023.02.13 |
---|---|
23.02.10 파이썬 코딩 퀴즈#150 택배 상자 (프로그래머스 스쿨) (0) | 2023.02.10 |
23.02.10 파이썬 코딩 퀴즈#148 혼자 놀기의 달인 (프로그래머스 스쿨) (0) | 2023.02.10 |
23.02.10 파이썬 코딩 퀴즈#147 할인 행사 (프로그래머스 스쿨) (0) | 2023.02.10 |
23.02.10 파이썬 코딩 퀴즈#146 두 큐 합 같게 만들기 (프로그래머스 스쿨) (0) | 2023.02.10 |