본문 바로가기
코딩테스트/프로그래머스 기초

[코딩테스트 Lv.0] 날짜 비교하기

by 블루데이제이 2024. 5. 24.
728x90
반응형
문제 설명

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

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

제한사항
● date1의 길이 = date2의 길이 = 3
  ○ 0 ≤ year ≤ 10,000
  ○ 1 ≤ month ≤ 12
  ○ day는 month에 따라 가능한 날짜로 주어집니다.
입출력 예
date1		date2		result
[2021, 12, 28]	[2021, 12, 29]	1
[1024, 10, 24]	[1024, 10, 24]	0
입출력 설명
입출력 예 #1
date1이 date2보다 하루 앞서기 때문에 1을 return 합니다.

입출력 예 #2
date1과 date2는 날짜가 서로 같으므로 date1이 더 앞서는 날짜가 아닙니다. 따라서 0을 return 합니다.

내 풀이
Java
class Solution {
    public int solution(int[] date1, int[] date2) {
        int answer = 0;
        
        if(date1[0] < date2[0]){
            return 1;
        }else if(date1[0] == date2[0] && date1[1] < date2[1]){
            return 1;
        }else if(date1[0] == date2[0] && date1[1] == date2[1] && date1[2] < date2[2]){
            return 1;
        }
        
        return answer;
    }
}
C
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// date1_len은 배열 date1의 길이입니다.
// date2_len은 배열 date2의 길이입니다.
int solution(int date1[], size_t date1_len, int date2[], size_t date2_len) {
    int answer = 0;
    
    if(date1[0] < date2[0]){
        return 1;
    }else if(date1[0] == date2[0] && date1[1] < date2[1]){
        return 1;
    }else if(date1[0] == date2[0] && date1[1] == date2[1] && date1[2] < date2[2]){
        return 1;
    }
    
    return answer;
}
Python
from datetime import datetime
def solution(date1, date2):
    answer = 0
    
    a = datetime(date1[0], date1[1], date1[2])
    b = datetime(date2[0], date2[1], date2[2])
    
    if a < b:
        return 1
    
    return answer

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

Apple 2024 맥북 에어 13 M3

COUPANG

www.coupang.com

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."

 

 

728x90
반응형