[프로그래머스] 연속 부분 수열 합의 개수 (JS)

hhkim·2023년 8월 10일
0

Algorithm - JavaScript

목록 보기
96/188
post-thumbnail

풀이 과정

  1. 기존 배열 길이만큼 반복
  2. 기존 배열에 현재 반복 횟수 - 1만큼 길이를 이어붙인 배열 만들기
  3. 부분 배열 요소들의 합을 결과 set에 저장
  4. set의 크기 반환

코드

function solution(elements) {
  const set = new Set();
  for (let i = 1; i <= elements.length; ++i) {
    const circle = elements.concat(elements.slice(0, i));
    for (let j = 0; j < circle.length; ++j) {
      set.add(circle.slice(j, j + i).reduce((total, n) => total + n, 0));
    }
  }
  return set.size;
}

0개의 댓글