날짜 비교하기 Lv. 0

박영준·2023년 6월 8일
0

코딩테스트

목록 보기
230/300
class Solution {
    public int solution(int[] date1, int[] date2) {
        int answer = 0;
        return answer;
    }
}

해결법

방법 1

class Solution {
    public int solution(int[] date1, int[] date2) {
        int answer = 0;
            
        if (date1[0] < date2[0]) {
            answer = 1;
        } else if (date1[0] == date2[0]) {
            if (date1[1] < date2[1]) {
                answer = 1;
            } else if (date1[1] == date2[1]) {
                if (date1[2] < date2[2]) {
                    answer = 1;
                }
            }
        }       
        
        return answer;
    }
}
  • 날짜이기 때문에, 수가 작을수록 더 빠르다.

  • 차이

    • 년도 차이
    • 년도 동일한데, 월 차이
    • 년도, 월 동일한데, 일 차이
  • 주의!

    • 예시 : 2020.05.20 vs 2020.04.25
      • 년도 동일, 월 낮고 vs 월 높고, 일 높고 vs 일 낮고
      • 이 경우엔 일 까지 갈 필요 X. 월에서 이미 판단남

방법 2

import java.time.LocalDate;

class Solution {

    public int solution(int[] date1, int[] date2) {

        LocalDate dateA = LocalDate.of(date1[0], date1[1], date1[2]);
        LocalDate dateB = LocalDate.of(date2[0], date2[1], date2[2]);

        if (dateA.isBefore(dateB)) {
            return 1;
        } else {
            return 0;
        }
    }
}
  • LocalDate 로 푸는 방법

방법 3

class Solution {
    public int solution(int[] date1, int[] date2) {
        int answer = 0;

        for (int i = 0; i < date1.length; i++) {
            if (date1[i] < date2[i]) {
                answer = 1;
                break;
            } else if (date1[i] > date2[i]) {
                answer = 0;
                break;
            }
        }

        return answer;
    }
}
  • for문을 사용한 방법

날짜 비교하기 Lv. 0

profile
개발자로 거듭나기!

0개의 댓글