강의

멘토링

로드맵

Inflearn brand logo image

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

Aurora님의 프로필 이미지
Aurora

작성한 질문수

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

2. 회의실 배정

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

작성

·

359

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

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

안녕하세요^^

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

Aurora님의 프로필 이미지
Aurora

작성한 질문수

질문하기