Hyunebee
K가 되는 수 본문
투포인터를 이용한 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int arrSize = sc.nextInt();// 배열의 크기
int N = sc.nextInt(); // N 의 크기
int[] arr = new int[arrSize];
for(int i = 0; i < arrSize; i++){
arr[i] = sc.nextInt();
}
Main T = new Main();
System.out.println(T.solution(arr , N));
}
public int solution(int[] arr, int k){
int p1 = 0;
int p2 = 0;
int sum = 0;
int cnt = 0;
for(p1 = 0 ; p1 < arr.length; p1++){
sum += arr[p1];
if(sum == k){
cnt++;
}
while(sum >= k){
sum-= arr[p2++];
if(sum == k){
cnt++;
}
}
}
return cnt;
}

'Java > 코테' 카테고리의 다른 글
| 씨름선수선발하기 (0) | 2022.05.19 |
|---|---|
| 연속해서 가장 긴 수 (0) | 2022.05.19 |
| 배열 합치기 (0) | 2022.05.18 |
| 3주차 코딩테스트 4번 (0) | 2022.05.05 |
| 3주차 코딩테스트 3번 (0) | 2022.05.05 |