https://school.programmers.co.kr/learn/courses/30/lessons/131701
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
저는 브루트포스를 통해 문제를 해결하였습니다.
저는 Set을 통해 각각의 합을 저장해 중복이 없도록 개수를 카운팅하였습니다.
저는 시작 인덱스를 시작으로 elements의 길이만큼 합을 구하고 이를 set에 넣었습니다.
만약 인덱스가 길이를 넘어가면 0으로 가도록 하여 해결하였습니다.
import java.util.*;
class Solution {
public int solution(int[] elements) {
int answer = 0;
Set<Integer> num = new HashSet<>();
int size = elements.length;
for(int length = 1 ; length <= size ; length++){
for(int start = 0 ; start < size ; start++){
int sum = 0;
int index = start;
for(int i = 0 ; i < length ; i++){
sum += elements[index];
index++;
if(index >= size){
index = 0;
}
}
num.add(sum);
}
}
answer = num.size();
return answer;
}
}
'알고리즘' 카테고리의 다른 글
프로그래머스 문자열을 정수로 바꾸기 (JAVA) (0) | 2022.10.19 |
---|---|
프로그래머스 2개 이하로 다른 비트 (JAVA) (0) | 2022.10.18 |
프로그래머스 삼총사 (JAVA) (0) | 2022.10.16 |
프로그래머스 이상한 문자열 만들기 (JAVA) (1) | 2022.10.14 |
프로그래머스 문자열 내 마음대로 정렬하기 (JAVA) (0) | 2022.10.13 |