반응형
풀이
- 처음에는 이전 값에 해당 하는 모든 값을 계속해서 추가한 뒤
- 뭐 어떻게 할 수 있지 않을까 했다가
- 뭔가 생각이 꼬여서 다시 문제를 집중해서 보니
- 누적 합을 시켜놓은 배열에서
- 기준 인덱스 값을 이후 인덱스 값에서 뺀 값과 M을 비교하며 체크
- 여기서 값이 크거나 같다면 우선 break 하여 불필요한 시간을 사용하지 않도록 하여 해결.
import java.io.*;
import java.util.StringTokenizer;
public class _2003 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
int[] li = new int[N+1];
int result = 0;
st = new StringTokenizer(br.readLine());
for (int i=1; i<=N; i++) li[i] = li[i-1]+Integer.parseInt(st.nextToken());
// 찾기
for (int i=0; i<N; i++) {
for (int j=i+1; j<=N; j++) {
if (li[j]-li[i]==M) {
result ++;
break;
} else if (li[j]-li[i]>M) break;
}
}
System.out.println(result);
}
}
'알고리즘' 카테고리의 다른 글
[백준, 자바, 2583번] 영역 구하기 (1) | 2024.10.22 |
---|---|
[백준, 자바, 5635번] 생일 (1) | 2024.10.16 |
[백준, 자바, 11728번] 스피카 (1) | 2024.10.14 |
[백준, 자바, 15723번] n단 논법 (2) | 2024.10.14 |
[백준, 자바, 11728번] 배열 합치기 (0) | 2024.10.12 |