Study with me/프로그래머스 L0 마스터하기
프로그래머스 - L0 날짜비교하기
외계나무
2024. 1. 17. 21:05
if 중첩을 썼는데, 여러 풀이가 나올 수 있을 것 같아 가져옴.
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 {
return 0;
}
}
}
}
}
LocalDate와 isBefore() / isAfter() / isEqual()
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;
}
}
}
배열 비교 Arrays.compare()
import java.util.*;
class Solution {
public int solution(int[] date1, int[] date2) {
return Arrays.compare(date1, date2) < 0 ? 1 : 0;
}
}
숫자 자릿수로 날짜 형식을 정수로 바꿔서 비교하는 방법
class Solution {
public int solution(int[] date1, int[] date2) {
return date1[0] * 10000 + date1[1] * 100 + date1[2] < date2[0] * 10000 + date2[1] * 100 + date2[2] ? 1 : 0;
}
}