• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

데이터량이 적어서인지 무식하게 풀었는데도 답을 구했네요.

22.06.10 14:40 작성 조회수 212

0

import java.util.Arrays;
import java.util.Scanner;

public class Main {

    static int n ;

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        Main T = new Main();

        n = in.nextInt();
        int[] arr = new int[73] ;
        for(int i=0 ; i< n;i++){
            int s = in.nextInt();
            int e = in.nextInt();
            for(int j= s; j<e ; j++){
                arr[j]++;
            }
        }

        System.out.println(Arrays.stream(arr).max().getAsInt());
    }

}

시간 범위가 0~72 정도여서 

72 정도 크기의 배열에 넣고 참석하는 시간 범위동안 

1을 더해주는 방식으로 구현하였는데 

 

시간 제한에 걸리지 않고 잘 동작하게 되네요. 

물론 시간 범위가 좀더 큰 경우라면 강사님의 풀이대로 

풀어야 정확한 답을 구할 수 있을 거라고 생각됩니다. 

답변 1

답변을 작성해보세요.

1

안녕하세요^^

네.  맞습니다. 그래서 날짜의 범위를 요즘은 10,000일로 바꿔서 가르치고 있습니다.