자바/프로그래머스
[Programmers/JAVA] 연속 부분 수열 합의 개수
2가
2023. 2. 22. 21:44
내 코드
import java.util.*;
class Solution {
public int solution(int[] elements) {
int answer = 0;
int index=1;
HashSet<Integer> set=new HashSet<>();
for(int i=0; i<elements.length; i++) {//elements.length만큼 반복(큰 틀)
for(int j=0; j<elements.length; j++) {//elements index 위치를 하나씩 오른쪽으로 밀며 elements.length만큼 hap을 구함
int hap=0;
for(int z=j; z<j+index; z++) {//j부터 j+index-1까지 더한다.
hap+=elements[z%elements.length];
}
set.add(hap);
if(i==elements.length-1) {// 오버 계산을 하지않게하기위해 마지막 계산은 한번만 실행
break;
}
}
index++;
}
answer=set.size();
return answer;
}
}
느낀점
index를 i로 바꿔도 됐을것같다. z<=j+i이런 식으로 했으면 더 깔끔했을듯!