날짜 비교하기

Programmers 코딩 기초 트레이닝


문제 설명

정수 배열 date1date2가 주어집니다. 두 배열은 각각 날짜를 나타내며 [year, month, day] 꼴로 주어집니다. 각 배열에서 year는 연도를, month는 월을, day는 날짜를 나타냅니다.

만약 date1date2보다 앞서는 날짜라면 1을, 아니면 0을 return하는 solution 함수를 완성해 주세요.

제한사항

  • date1의 길이 = date2의 길이 = 3
  • 0 ≤ year ≤ 10,000
  • 1 ≤ month ≤ 12
  • daymonth에 따라 가능한 날짜로 주어집니다.

입출력 예

date1 date2 result
[2021, 12, 28] [2021, 12, 29] 1
[1024, 10, 24] [1024, 10, 24] 0

입출력 예 설명

입출력 예 #1

date1date2보다 하루 앞서기 때문에 1을 return합니다.

입출력 예 #2

date1date2는 날짜가 서로 같으므로 date1이 더 앞서는 날짜가 아닙니다. 따라서 0을 return합니다.


class Solution {
    public int solution(int[] date1, int[] date2) {
        if (date1[0] < date2[0]) {
            return 1;
        } else if (date1[0] > date2[0]) {
            return 0;
        } else if (date1[1] < date2[1]) {
            return 1;
        } else if (date1[1] > date2[1]) {
            return 0;
        } else if (date1[2] < date2[2]) {
            return 1;
        } else if (date1[2] > date2[2]) {
            return 0;
        } else {
            return 0;
        }
    }
}


class Solution {
    public int solution(int[] date1, int[] date2) {
        for (int i = 0; i < 3; i++) {
            if (date1[i] < date2[i]) {
                return 1;
            } else if (date1[i] > date2[i]) {
                return 0;
            }
        }
        return 0; // 반복문을 모두 돌았을 때 date1과 date2가 동일한 경우
    }
}

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

Leave a comment