본문 바로가기
알고리즘/프로그래머스

[프로그래머스] 연속 부분 수열 합의 개수(Java)

by hxxyeoniii 2024. 11. 20.

링크 : https://school.programmers.co.kr/learn/courses/30/lessons/131701

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


문제 풀이

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++) {
                // 원형수열
                // 인덱스 값을 넘어간다면 elements 크기만큼의 나머지를 인덱스로 지정
                // 0부터 시작되어 마치 원으로 이어진 것처럼 진행 가능
                sum += elements[(i + j) % elements.length];
                set.add(sum);
            }
        }
        
        return set.size();
    }
}