• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

시작시간을 기준으로 해도 답이 나오는데 괜찮나요?

23.01.10 21:45 작성 조회수 219

0

전 문제와 비슷하게 시작시간을 내림차순으로 정렬하고,

아래와 같이 로직을 짰는데 정답 처리가 되었습니다.

제가 푼 방법이 문제를 이해한 것이 맞을까요?

import java.util.*;
import java.io.*;

class Conf implements Comparable<Conf> {
  int st;
  int et;
  public Conf(int st, int et) {
    this.st = st;
    this.et = et;
  }
  @Override
  public int compareTo(Conf o) {
    return o.st - this.st;
  }
}
class Main {
  public static int solution(int n, ArrayList<Conf> list) {
    int answer = 0;
    int min = Integer.MAX_VALUE; //st
    Collections.sort(list);
    for (Conf conf : list) {
      if (conf.et <= min) {
        min = conf.st;
        answer++;
      }
    } 
    return answer;
  }
  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    StringTokenizer stz = null;
    int n = Integer.parseInt(br.readLine());
    ArrayList<Conf> list = new ArrayList<>();
    for (int i = 0; i < n; i++) {
      stz = new StringTokenizer(br.readLine());
      int st = Integer.parseInt(stz.nextToken());
      int et = Integer.parseInt(stz.nextToken());
      list.add(new Conf(st, et));
    }
    System.out.println(solution(n, list));
  }
}

답변 1

답변을 작성해보세요.

0

안녕하세요^^

네. 상관없는 것 같습니다.