Level. 0
문제
정수 배열 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에 따라 가능한 날짜로 주어집니다.
풀이 1.
import java.time.LocalDate;
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;
}
}
}
풀이 2. - LocalDate
import java.time.LocalDate;
class Solution {
public int solution(int[] date1, int[] date2) {
LocalDate d1 = LocalDate.of(date1[0], date1[1], date1[2]);
LocalDate d2 = LocalDate.of(date2[0], date2[1], date2[2]);
return d1.isBefore(d2) ? 1 : 0;
}
}
LocalDate / LocalTime / LocalDateTime
1. LocalDate
로컬 날짜 클래스로, 날짜 정보만 필요할 때 사용한다.
// 로컬 컴퓨터의 현재 날짜 정보를 저장한 LocalDate 객체를 리턴한다.
LocalDate localDate = LocalDate.now();
// 파라미터로 주어진 날짜 정보를 저장한 LocalDate 객체를 리턴한다.
LocalDate localDate = LocalDate.of(2023,12,3);
2. LocalTime
시간 정보를 나타내기 위해 사용한다.
// 로컬 컴퓨터의 현재 시간 정보를 저장한 LocalTime객체를 리턴한다.
LocalTime currentTime = LocalTime.now();
// 파라미터로 주어진 시간 정보를 저장한 LocalTime객체를 리턴한다.
LocalTime timeToGoToBed = LocalTime.of(23, 30, 0);
3. LocalDateTime
날짜와 시간 정보 모두를 나타내기 위해 사용한다.
LocalDate와 LocalTime이 합쳐진 것이라 볼 수 있다.
// 로컬 컴퓨터의 현재 날짜와 시간 정보를 저장한 LocalDateTime객체를 라턴한다.
LocalDateTime now = LocalDateTime.now();
LocalDateTime dateOfBirth = LocalDateTime.of(1982, 7, 13, 14, 25, 00);
https://school.programmers.co.kr/learn/courses/30/lessons/181838
https://java119.tistory.com/52
https://www.daleseo.com/java8-local-date-time/
'Algorithm > Programers - Java' 카테고리의 다른 글
[프로그래머스(Java)] 9로 나눈 나머지 / chars(), map(), sum() (1) | 2023.12.03 |
---|---|
[프로그래머스(Java)] 문자열 정렬하기 (2) / String.toCharArray() (1) | 2023.12.03 |
[프로그래머스(Java)] 합성수 찾기 / 에라토스테네스의 체 알고리즘 (1) | 2023.11.27 |
[프로그래머스(Java)] 이차원 배열 대각선 순회하기 (0) | 2023.11.27 |
[프로그래머스(Java)] 중복된 문자 제거 / stream.distinct(), LinkedHashSet, String.Join(String, Object[]) (0) | 2023.11.26 |