본문 바로가기

Algorithm/Programers - Java

[프로그래머스(Java)] 날짜 비교하기 / LocalDate , LocalTime , LocalDateTime

 

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

 

프로그래머스

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

programmers.co.kr

https://java119.tistory.com/52

 

[Java] LocalDate,LocalTime,LocalDateTime 총 정리

아직도!!!!!!!!!!!!!! Calender나 Date를 사용하려는 혹은 사용하고 있는 저 같은분들을 위해 준비한 글입니다. Java 8 부터 java.time(joda.time) api 출시 됐기 때문에, Java version 8 이상만 가능합니다. Java 시간

java119.tistory.com

https://www.daleseo.com/java8-local-date-time/

 

[Java8 Time API] LocalDate, LocalTime, LocalDateTime 사용법

Engineering Blog by Dale Seo

www.daleseo.com