📚 연속 부분 수열 합의 개수
[JAVA] 프로그래머스 Level 2.
코딩테스트 연습 - 연속 부분 수열 합의 개수 | 프로그래머스 스쿨 (programmers.co.kr)
문제 설명
(생략)
제한사항
- 3 ≤ elements의 길이 ≤ 1,000
- 1 ≤ elements의 원소 ≤ 1,000
입출력 예
elements | result |
[7,9,1,1,4] | 18 |
문제 해결 방안
1부터 문자열의 길이만큼 값을 잘라와서 합을 구한다.
합은 중복이 없어야하며 그 수를 구한다.
소스 코드
import java.util.*;
class Solution {
public int solution(int[] elements) {
int s = elements.length;
Set<Integer> set = new HashSet<>();
for(int i=1; i<=s; i++) {
for(int x=0; x<s; x++) {
int sum = 0;
for(int y=0; y<i; y++) {
sum += elements[(x+y)%s];
}
set.add(sum);
}
}
return set.size();
}
}
이중 반복문이다보니 속도가 느리다...
하지만 해당 반복문없이 할 수가 없었다
'프로그래머스' 카테고리의 다른 글
[프로그래머스/Java] 괄호 회전하기 (0) | 2023.08.21 |
---|---|
[프로그래머스/Java] 멀리 뛰기 (0) | 2023.08.14 |
[프로그래머스/Java] 점프와 순간 이동 (0) | 2023.08.11 |
[프로그래머스/Java] 예상 대진표 (1) | 2023.08.09 |
[프로그래머스/Java] 구명 보트 (0) | 2023.08.08 |