예를 들어 수열 [7, 9, 1, 1, 4] 로 원형 수열을 만들면 다음과 같습니다.
elements
가 순서대로 주어질 때, 원형 수열의 연속 부분 수열 합으로 만들 수 있는 수의 개수를 return 하도록 solution 함수를 완성해주세요.elements
의 길이 ≤ 1,000elements
의 원소 ≤ 1,000import java.io.*;
import java.util.*;
class Solution {
public int solution(int[] elements) {
int n = elements.length;
int[] rotateElements = new int[n*2];
for(int i = 0; i < elements.length; i++){
rotateElements[i] = elements[i];
rotateElements[i+n] = elements[i];
}
HashSet<Integer> set = new HashSet<>();
for(int i = 0; i < n; i++){
int cnt = 0;
for(int j = i,jEnd = i+n; j < jEnd; j++){
cnt += rotateElements[j];
set.add(cnt);
}
}
return set.size();
}
}