728x90
반응형
오늘 배운 것
1. 느낀점
. 알고리즘 풀기가 점점 부담스러워졌다.. 역시 어려운 것이 나와서 그런가. 개념은 어렵지 않은데 구현력이 떨어지는 것을 느낀다. while문을 이용해서 계속 빼주는 것을 배웠다.
2. 문제 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int m = kb.nextInt();
int[] arr = new int [n];
for (int i = 0; i < n; i++) {
arr[i] = kb.nextInt();
}
solution(m,arr);
}
private static void solution(int m, int[] arr) {
int lt=0,tmp_sum=0,answer=0;
for (int i = 0; i < arr.length; i++) {
tmp_sum += arr[i];
if(tmp_sum == m) answer++;
while(tmp_sum >= m){
tmp_sum -= arr[lt++];
if(tmp_sum==m) answer++;
}
}
System.out.println(answer);
}
}
728x90
반응형
'알고리즘 > 문자열, 정렬' 카테고리의 다른 글
[알고리즘] 최대 길이 연속 부분수열 with Java (0) | 2022.03.14 |
---|---|
[알고리즘] 연속된 자연수의 합 with Java (0) | 2022.03.12 |
[알고리즘] 최대 매출 with Java (0) | 2022.03.10 |
[알고리즘] 공통원소 구하기 with Java (0) | 2022.03.10 |
[알고리즘] 배열 총 정리 with Java (0) | 2022.03.08 |