(풀이)
import java.util.*;
class Main {
public int solution(int n, int k, int[] arr){
int answer, sum=0;
for(int i=0; i<k; i++) sum+=arr[i];
answer=sum;
for(int i=k; i<n; i++){
sum+=(arr[i]-arr[i-k]);
answer=Math.max(answer, sum);
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n=kb.nextInt();
int k=kb.nextInt();
int[] arr=new int[n];
for(int i=0; i<n; i++){
arr[i]=kb.nextInt();
}
System.out.print(T.solution(n, k, arr));
}
}
'취업준비 - 코테 , 면접 > 알고리즘(코테) 공부' 카테고리의 다른 글
알고리즘입문(Java) - [효율성 : O(n^2)-->O(n)] 5.연속된 자연수의 합 (0) | 2023.03.14 |
---|---|
알고리즘입문(Java) - [효율성 : O(n^2)-->O(n)] 4.연속부분수열 (1) | 2023.03.14 |
알고리즘입문(Java) - [효율성 : O(n^2)-->O(n)] 2.공통원소구하기 (0) | 2023.03.12 |
알고리즘입문(Java) - [효율성 : O(n^2)-->O(n)] 1. 두 배열 합치기 (0) | 2023.03.09 |
알고리즘입문(Java) - Array -12. 멘토링 (0) | 2023.03.07 |