강의

멘토링

커뮤니티

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

rita1999님의 프로필 이미지
rita1999

작성한 질문수

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

Chapter3-3.최대매출 문제 시간초과

작성

·

289

0

안녕하세요 chapter3에 3번 최대매출 문제에서 저랑 친구랑 거의 같은 코드인데 저만 시간초과가 나서 질문드립니다

<<친구코드>>

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        int day = sc.nextInt();

        int d=sc.nextInt();

        sc.nextLine();

        String[] st=sc.nextLine().split(" ");

        sc.close();

        int[] arr=new int[day];

        for (int i = 0; i < day; i++) {

            arr[i]=Integer.parseInt(st[i]);

        }

        int max=0;

        for (int i = 0; i < day - d + 1; i++) {

            int sum = 0;

            for (int j = i; j < i+d; j++) {

                sum += arr[j];

            }

            max = sum > max ? sum : max;

        }

        System.out.println(max);

    }

}

<<<제 코드>>>

Scanner scanner = new Scanner(System.in);

      int n= scanner.nextInt();

      int k= scanner.nextInt();

      int[] list= new int[n];

      

      scanner.nextLine();

      String[] str=scanner.nextLine().split(" ");

      scanner.close();

      for(int i=0; i<n; i++) {

         list[i]= Integer.parseInt(str[i]);

      }

      

      int max=0;

      for(int i=0; i<n-k +1; i++) {

         int sum=0;

         for(int j=i; j<i+k; j++) {

            sum+=list[j];

            //if(max<sum) max=sum;

            max= sum>max ? sum: max;

         }

      }

      System.out.println(max);

실행시간이 두배 정도 차이나는데 코드가 거의 같아서 어디가 문제인지 궁금합니다

감사합니다!

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

두 코드 동일코드나 다름없습니다. 왜 시간차가 나는지 저도 알 수 없네요.

rita1999님의 프로필 이미지
rita1999

작성한 질문수

질문하기