FrontEnd/프로그래머스
연속 부분 수열 합의 개수
정_민_규
2023. 6. 6. 14:59
728x90
원형 부분 수열을 만들기 위해서 주어진 리스트를 2번 붙이면 반복되는 모든 경우의 수를 탐색해볼 수 있다.
또한 중복이 안되는 값들을 찾아야 하므로 set자료형을 만들었고 각 부분수열의 합들을 구해서 set자료형에 넣은 이후, set의 크기를 반환하여 문제를 해결하였다.
function solution(elements) {
const ary = [...elements,...elements]
const set = new Set()
for (let i = 1 ; i <= elements.length ; i++) {
for (let j = 0 ; j+i < ary.length ; j++){
set.add(ary.slice(j,j+i).reduce((a,c) => a+c,0))
}
}
return set.size
}
728x90