Algorithm/Programmers

[Programmers] Lv.0 / 날짜 비교하기 / Java

unknownomad 2024. 3. 6. 23:13

문제

 

풀이

import java.time.LocalDate;

class Solution {
    public int solution(int[] date1, int[] date2) {
        LocalDate localDate1 = LocalDate.of(date1[0], date1[1], date1[2]);
        LocalDate localDate2 = LocalDate.of(date2[0], date2[1], date2[2]);
        return localDate1.compareTo(localDate2) >= 0 ? 0 : 1;
    }
}

 localDate1.compareTo(localDate2)

  • 호출한 LocalDate 객체가 localDate2 보다 빠른 경우, 음수 반환
  • 호출한 LocalDate 객체가 localDate2 와 같은 경우, 0 반환
  • 호출한 LocalDate 객체가 localDate2 보다 늦은 경우, 양수 반환
import java.time.LocalDate;

class Solution {
    public int solution(int[] date1, int[] date2) {
        LocalDate localDate1 = LocalDate.of(date1[0], date1[1], date1[2]);
        LocalDate localDate2 = LocalDate.of(date2[0], date2[1], date2[2]);
        return localDate1.isBefore(localDate2) ? 1 : 0;
    }
}
import java.util.Arrays;

class Solution {
    public int solution(int[] date1, int[] date2) {
        return Arrays.compare(date1, date2) < 0 ? 1 : 0;
    }
}

Arrays.compare(date1, date2)

  • 첫 번째 배열이 두 번째 배열보다 사전적으로 앞에 온다면, 음수 반환
  • 두 배열이 같다면, 0 반환
  • 첫 번째 배열이 두 번째 배열보다 사전적으로 뒤에 온다면, 양수 반환

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/181838