문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
알고리즘
해시셋
풀이
elements의 각 원소를 시작으로 elements의 원소 개수만큼 누적하며 그 값을 해시셋에 삽입한다.
해시셋은 중복을 허용하지 않기 때문에 탐색이 끝난 후 해시셋의 원소 개수가 답이 된다.
* 인덱스를 elements의 원소 개수로 나머지 연산해 범위를 벗어나지 않게 한다.
코드
import java.util.*;
class Solution {
public int solution(int[] elements) {
Set<Integer> set = new HashSet<>();
for(int i=0; i<elements.length; i++) {
int sum = 0;
for(int j=0; j<elements.length; j++) {
sum += elements[(i + j) % elements.length];
set.add(sum);
}
}
return set.size();
}
}
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 롤케이크 자르기 (Java) (0) | 2022.11.12 |
---|---|
[프로그래머스] 택배상자 (Java) (0) | 2022.11.12 |
[프로그래머스] 혼자 놀기의 달인 (Java) (0) | 2022.11.12 |
[프로그래머스] 할인 행사 (Java) (0) | 2022.11.12 |
[프로그래머스] 과일 장수 (Java) (0) | 2022.11.12 |