
철호는 수열을 가지고 놀기 좋아합니다. 어느 날 철호는 어떤 자연수로 이루어진 원형 수열의 연속하는 부분 수열의 합으로 만들 수 있는 수가 모두 몇 가지인지 알아보고 싶어졌습니다. 원형 수열이란 일반적인 수열에서 처음과 끝이 연결된 형태의 수열을 말합니다. 예를 들어 수열 [7, 9, 1, 1, 4] 로 원형 수열을 만들면 다음과 같습니다.

원형 수열은 처음과 끝이 연결되어 끊기는 부분이 없기 때문에 연속하는 부분 수열도 일반적인 수열보다 많아집니다.
원형 수열의 모든 원소 elements가 순서대로 주어질 때, 원형 수열의 연속 부분 수열 합으로 만들 수 있는 수의 개수를 return 하도록 solution 함수를 완성해주세요.
3 ≤ elements의 길이 ≤ 1,000
1 ≤ elements의 원소 ≤ 1,000
function solution(elements) {
const answer = new Set();
for(i=0; i<elements.length; i++){
var sum = 0;
for(j=i; j< i+elements.length; j++){
sum += elements[j%elements.length];
answer.add(sum);
}
}
return answer.size;
}
중복된 값이 안담기게 set을 사용했다.
elements 배열의 시작위치를 알려주는 반복문을 만들고 값을 저장할 sum을 만들어줫다. 얻은 시작위치를 이용해 i+elements.length까지 순회하는 반복문을 만들었다. 해당 반복문에서 % 인덱스를 순환하면서 sum에 값을 더해줬다. 해당값을 answer에 더해주고 answer의 szie를 리턴하면 값이나온다.
하루남았다..오늘은 별 문제 없이 잘 지나갔다..하루씩 미뤄지다보니 이제 9일차에 해당하는 내용을 해야하지만 밤새서라도 해서 제출하고 해설영상보면서 부족한 부분을 채워봐야겠다.