[프로그래머스] 연속 부분 수열 합의 개수 / JavaScript / Level 2

KimYoungWoong·2022년 11월 22일
0

Programmers

목록 보기
28/60
post-thumbnail

🚩문제 주소


📄풀이


주어진 원소 배열을 슬라이싱해서 뒤에 추가로 붙여준 배열을 만듭니다.

1부터 주어진 원소 배열 개수만큼의 연속 부분 수열을 만들어주고 더해준 뒤 Set에 저장하여 중복을 제거 해줍니다.

Set의 길이를 출력해줍니다.



👨‍💻코드


function solution(elements) {
  const answer = new Set();

  for (let i = 0; i < elements.length; i++) {
    const temp = [...elements, ...elements.slice(0, i)];
    let j = 0;
    while (j <= elements.length) {
      let sum = temp.slice(j, j + i);
      if (sum.length !== 0) answer.add(sum.reduce((a, c) => a + c));
      j++;
    }
  }
  answer.add(elements.reduce((a, c) => a + c));
  return answer.size;
}

profile
블로그 이전했습니다!! https://highero.tistory.com

0개의 댓글