Javascript/자바스크립트 문제

[Javascript : programmers] 날짜 비교하기 (Lv.0) 💥

isfp_yykkng 2024. 8. 9. 15:03

[Javascript : programmers] 날짜 비교하기 (Lv.0)

문제

 

나의 정답 풀이

function solution(date1, date2) {
    const [y1, m1, d1] = date1
    const [y2, m2, d2] = date2
    if(y1!=y2) return y1<y2 ? 1:0
    if(m1!=m2) return m1<m2 ? 1:0
    if(d1!=d2) return d1<d2 ? 1:0
    return 0 
}

 

date1, date2의 년월일을 각각 y1, m1, d1, y2, m2, d2에 담고 년/월/일의 값이 다르다면 date2의 숫자가 더 크다면 1 아니면 0을 반환한다. 하지만 이 if문들을 모두 통과했다면 년/월/일이 모두 같은 경우이기 때문에 0을 반환한다.

 

* 하드코딩을 한 느낌이다...

 

다른 사람 풀이 1

const solution = (date1, date2) => new Date(date1) < new Date(date2) ? 1 : 0

 

Date() 함수를 이용하여 date1과 date2 에 있는 값들을 날짜로 반환하고 이를 비교하여 date1이 이른 날짜라면 1을, 아니면 0을 반환한다. ( "궁 딸깍" 느낌...)

 

다른 사람 풀이 2

function solution(date1, date2) {
    return parseInt(date1.join("")) >= parseInt(date2.join("")) ? 0 : 1;
}

 

date1과 date2를 모두 정수로 합치고 date1 정수가 더 크거나 같으면 1을 아니면 0을 반환한다.