-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
런타임 에러
21.07.21 13:58 작성 조회수 148
0
인텔리제이에서는 에러가 안뜨는데 채점 사이트에서는 런타임 에러가 발생합니다...
뭐가 문제인가요?
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt();
int[] arr = new int[n];
for(int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
int result;
int sum = 0;
for(int i = 0; i < k; i++) {
sum += arr[i];
}
result = sum;
for(int i = 3; i < n - k; i++) {
sum += (arr[i] - arr[i-k]);
result = Math.max(result, sum);
}
System.out.print(result);
}
}
답변을 작성해보세요.
0
김태원
지식공유자2021.07.22
안녕하세요^^
k가 항상 3으로 고정되는 숫자가 아닙니다. 문제에 있는 입력예가 된다고 다 되는게 아닙니다. 스스로 여러 입력을 만들어 테스트해보세요.
for(int i = 3; i < n - k; i++) {
sum += (arr[i] - arr[i-k]);
result = Math.max(result, sum);
}
위에 for문에서 k가 100이라고 하면 arr[i-k] 에서 arr[3-100]인 arr[-97]인덱스를 참조하게 됩니다.
index out of range 에러가 납니다.
답변 1