강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

최서현님의 프로필 이미지
최서현

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

3. 최대 매출(Sliding window)

최대매출 왜 오답일까요?

해결된 질문

작성

·

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는 다양한 값이 입력됩니다.

최서현님의 프로필 이미지
최서현

작성한 질문수

질문하기