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
'FrontEnd > 프로그래머스' 카테고리의 다른 글
[JS] 두 큐 합 같게 만들기 (0) | 2023.06.08 |
---|---|
[JS] 혼자 놀기의 달인 (0) | 2023.06.08 |
[JS] 택배상자 (0) | 2023.06.06 |
[JS] 롤케이크 자르기 (0) | 2023.06.05 |
[JS] 우박수열 정적분 (1) | 2023.06.03 |