Skip to content

Commit 529d2a6

Browse files
committed
[level 2] Title: 연속 부분 수열 합의 개수, Time: 238.00 ms, Memory: 125 MB -BaekjoonHub
1 parent d2d3bf5 commit 529d2a6

2 files changed

Lines changed: 20 additions & 25 deletions

File tree

프로그래머스/2/131701. 연속 부분 수열 합의 개수/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
### 성능 요약
66

7-
메모리: 139 MB, 시간: 2156.26 ms
7+
메모리: 125 MB, 시간: 238.00 ms
88

99
### 구분
1010

@@ -16,7 +16,7 @@
1616

1717
### 제출 일자
1818

19-
2025년 07월 02일 17:38:59
19+
2025년 07월 02일 22:32:27
2020

2121
### 문제 설명
2222

프로그래머스/2/131701. 연속 부분 수열 합의 개수/연속 부분 수열 합의 개수.java

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,29 @@
33
class Solution {
44
public int solution(int[] elements) {
55
Set<Integer> set = new HashSet<>();
6+
int n = elements.length;
67

8+
// 1. 배열 2배로 확장
9+
int[] extended = new int[n*2];
10+
for(int i=0; i<n*2; i++){
11+
extended[i] = elements[i%n];
12+
}
713

8-
// for(int i=1; i<elements.length; i++){ // 0, 1, 2, 3 ... 연속 수열 최대 갯수
9-
// for(int j=0; j<elements.length; j++){
10-
// int sum = 0;
11-
12-
// for(int z=j; z<i; z++){
13-
// sum += elements[(z+i)%elements.length];
14-
// }
15-
// System.out.println(i + " " + sum);
16-
// set.add(sum);
17-
// }
18-
19-
// }
20-
for(int z=1; z<=elements.length; z++){
21-
for(int i=0; i<elements.length; i++){
22-
int sum = 0;
23-
for(int j=0; j<z; j++){ //오프셋
24-
sum += elements[(i+j)%elements.length];
25-
// System.out.println(z + " " + sum);
26-
27-
}
28-
// System.out.println(z + " " + sum);
29-
set.add(sum);
14+
// 2. 누적 합 구해놓기
15+
int[] sum = new int[2*n];
16+
sum[0] = elements[0];
17+
for(int i=1; i<2*n; i++){
18+
sum[i] = sum[i-1] + extended[i];
19+
}
20+
21+
// 3. 시작, 끝 인덱스에 해당하는 누적 값 빼주기
22+
for(int i=1; i<=n; i++){
23+
for(int j=0; j<n; j++){
24+
int result = sum[j+i] - sum[i];
25+
set.add(result);
3026
}
3127
}
3228

33-
// set.add()
3429
int answer = set.size();
3530
return answer;
3631
}

0 commit comments

Comments
 (0)