인프런 커뮤니티 질문&답변
최대매출 왜 오답일까요?
해결된 질문
작성
·
513
0
public class Main {
public int solution(int input1, int input2, int[] arr){
int max = 0;
for(int i=0; i<=input1-input2; i++){
max = Math.max(max,arr[i]+arr[i+1]+arr[i+2]);
}
return max;
}
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int input1 = sc.nextInt();
int input2 = sc.nextInt();
int[] arr = new int[input1];
for(int i=0; i<input1; i++){
arr[i] = sc.nextInt();
}
Main T = new Main();
System.out.println(T.solution(input1, input2, arr));
return ;
}
}
슬라이딩 윈도우로 풀기 전에 위와같이... 완전탐색(?)형식으로 풀었는데 오답인 이유는 뭔가요?!! 시간초과인가요...?? for문 하나니까 시간복잡도 N 아닌가요 ㅜㅜ
답변 1
0
김태원
지식공유자
안녕하세요^^
for(int i=0; i<=input1-input2; i++){
max = Math.max(max,arr[i]+arr[i+1]+arr[i+2]);
}위에 부분은 input2가 무조건 3이라고 생각하고 짠 코드입니다. input2는 다양한 값이 입력됩니다.





