인프런 커뮤니티 질문&답변
k값을 3으로 명시적으로 적어도 원래 오답인가요? ㅠㅠ
작성
·
248
0
import java.util.*;
public class Main {
public int solution(int n, int m, int[] a) {
int answer = 0, sum = 0;
// int max = Integer.MIN_VALUE;
for (int i = 0; i < 3; i++) {
sum += a[i];
}
answer = sum;
for(int i = m; i < n; i++) {
sum += (a[i] - a[i-3]);
answer = Math.max(answer, sum);
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner scan = new Scanner(System.in);
int n = scan.nextInt();
int m = scan.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = scan.nextInt();
}
System.out.println(T.solution(n, m, arr));
}
}퀴즈
51%나 틀려요. 한번 도전해보세요!
투 포인터 또는 슬라이딩 윈도우 기법을 사용하여 얻을 수 있는 가장 큰 이점은 무엇일까요?
데이터를 정렬할 필요가 없다
일반적으로 더 효율적인 시간 복잡도를 가진다
더 적은 메모리를 사용한다
모든 종류의 문제에 적용 가능하다






답변 감사합니다 ! 제가 궁금했던 부분은 모든 문제들에서 변수로 적어줘야 하는지 궁금합니다.
해당 문제에서는 테스트 케이스가 3으로 돼 있어서 고정했는데, 3으로 한것이 오답의 원인이 되는지 궁금해요 ㅎㅎ