728x90
풀이
- 원순열 특징 사용
- {4,7,9,1,1} -> {4,7,9,1,1,4,7,9,1} 배열 늘리기
- 자기 자신부터, 원소의 길이만큼 더하기
코드
import java.util.*;
import java.util.stream.*;
class Solution {
public int solution(int[] elements) {
int[] newElements = new int[elements.length * 2];
// {4,7,9,1,1} -> {4,7,9,1,1,4,7,9,1}
for(int i = 0; i < elements.length; i++) {
newElements[i] = newElements[i + elements.length] = elements[i];
}
Set<Integer> set = new HashSet<>();
for (int i = 0; i < elements.length; i++) {
int sum = 0;
// 자기 자신부터, 원소의 길이만큼 더하기
for (int k = i; k < i + elements.length; k++) {
sum += newElements[k];
set.add(sum);
}
}
return set.size();
}
}
728x90
'알고리즘 풀이' 카테고리의 다른 글
[프로그래머스] 땅따먹기 자바(Java) (0) | 2023.04.08 |
---|---|
[프로그래머스] 피로도 자바(Java) (0) | 2023.04.06 |
[프로그래머스] n^2 배열 자르기 자바(Java) (0) | 2023.04.04 |
[프로그래머스] 위장 자바(Java) (0) | 2023.04.03 |
[프로그래머스] 귤 고르기 자바(Java) (0) | 2023.04.02 |
댓글