From d224b2100bb27949c3297bfabc1b6c99380f1484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=A1=B0=EC=98=81=EC=A7=84?= Date: Wed, 25 Mar 2026 10:10:48 +0900 Subject: [PATCH] =?UTF-8?q?FEAT:=20BOJ=5F2457=5F=EA=B3=B5=EC=A3=BC?= =?UTF-8?q?=EB=8B=98=EC=9D=98=5F=EC=A0=95=EC=9B=90=20-=20PASS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BOJ_2457_YoungJin.java" | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 "0326/basic_B2457_\352\263\265\354\243\274\353\213\230\354\235\230_\354\240\225\354\233\220/BOJ_2457_YoungJin.java" diff --git "a/0326/basic_B2457_\352\263\265\354\243\274\353\213\230\354\235\230_\354\240\225\354\233\220/BOJ_2457_YoungJin.java" "b/0326/basic_B2457_\352\263\265\354\243\274\353\213\230\354\235\230_\354\240\225\354\233\220/BOJ_2457_YoungJin.java" new file mode 100644 index 0000000..d281e8f --- /dev/null +++ "b/0326/basic_B2457_\352\263\265\354\243\274\353\213\230\354\235\230_\354\240\225\354\233\220/BOJ_2457_YoungJin.java" @@ -0,0 +1,79 @@ +import java.io.*; +import java.util.*; + +public class Main { + + public static class Flower implements Comparable{ + public int startTime; + public int endTime; + + public Flower(int startTime, int endTime) { + this.startTime = startTime; + this.endTime = endTime; + } + + @Override + public int compareTo(Flower o) { + if(this.startTime == o.startTime) { + return o.endTime - this.endTime; + } + return this.startTime - o.startTime; + } + + @Override + public String toString() { + return "Flower [startTime=" + startTime + ", endTime=" + endTime + "]"; + } + } + + public static void main(String args[]) throws Exception { + + Scanner sc = new Scanner(System.in); + + int[] cal = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; + for(int i = 1; i < cal.length; i++) { + cal[i] += cal[i - 1]; + } + + int n = sc.nextInt(); + Flower[] arr = new Flower[n]; + for(int i = 0; i < n; i++) { + int a = sc.nextInt(); + int b = sc.nextInt(); + int c = sc.nextInt(); + int d = sc.nextInt(); + + arr[i] = new Flower(cal[a - 1] + b, cal[c - 1] + d); + } + + Arrays.sort(arr); + + int count = 0; + int current = 60; + int maxEndTime = 0; + int idx = 0; + + while(current <= 334) { + boolean found = false; + + while(idx < n && arr[idx].startTime <= current) { + maxEndTime = Math.max(maxEndTime, arr[idx].endTime); + idx++; + found = true; + } + + if(!found) { + break; + } + + current = maxEndTime; + count++; + } + + if(current <= 334) { + System.out.println(0); + } else { + System.out.println(count); + } + } +} \ No newline at end of file