• Home
  • About
    • Ryureka Moment photo

      Ryureka

      Sin Prisa, Sin Pausa

    • About Me
    • Facebook
    • Github
    • Youtube
  • Projects
  • Posts
    • Posts
    • ProblemSolvings
    • Tags
    • Blog
    • Examples
  • ProblemSolving
    • ProblemSolving
    • BOJ
    • Programmers
    • SWEA
    • LeetCode
  • FrontEnd
    • FrontEnd
    • HTML
  • BackEnd
    • BackEnd
    • Server
      • Server
      • Spring
      • NodeJS
    • DataBase
      • DataBase
      • MySQL
      • MongoDB
  • Programming
    • Programming
    • Java
    • JS
    • Python
    • CleanCode
  • ComputerScience
    • DataStructure
    • Algorithm

[BOJ] 1931. 회의실 배정

15 Apr 2026

Reading time ~1 minute

  • 풀이

풀이

import java.util.*;

public class Main{
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int answer = 0;
		
		int N = sc.nextInt();
		int arr[][] = new int [N][2];
		
		for(int i = 0; i < N; i++) {
			arr[i][0] = sc.nextInt();
			arr[i][1] = sc.nextInt();			
		}
		
		Arrays.sort(arr,(o1,o2) -> o1[1]==o2[1] ? o1[0]-o2[0] : o1[1] - o2[1]);
		
		
		// 현재시간.
		int t = 0;
		
		for(int i = 0; i < N; i++) {
			// 시작시간이 현재시간보다 작으면 스킵. 
			if(t > arr[i][0]) continue;			
			answer++; // 회의를 하나 배정.
			t = arr[i][1]; // 현재시간을 회의 끝나는 시간으로 설정. 
		}
		
		System.out.println(answer);			
	}
}


그리디 Share