신대륙 발견

박영준·2022년 11월 23일
0

코딩테스트

목록 보기
30/300
public class Main {
    public String solution(int month, int day) {
        String answer = "";
        return answer;
    }

    public static void main(String[] args) {
        Main method = new Main();
        System.out.println(method.solution(1, 18));
    }
}

기원이는 오늘 항해99를 시작했다. 성격이 급한 기원이는 항해 1일 차부터 언제 수료를 하게될 지 궁금하다.

항해 1일 차 날짜를 입력하면 98일 이후 항해를 수료하게 되는 날짜를 계산해주는 알고리즘을 만들어보자.

제한 조건

  • 1 ≤ month ≤ 12
  • 1 ≤ day ≤ 31 (2월은 28일로 고정합니다, 즉 윤일은 고려하지 않습니다.)

입축력 예

monthdayresult
1127“3월 5일”
622“9월 28일”

지정 입력값

monthdayresult
118‘4월 26일’

정답

방법 1

<!--import 문 추가 필요(Alt + Enter)-->
import java.time.LocalDate;
import java.time.format.DateTimeFormatter;

public class Main {
    <!--month 와 day 를 매개변수로 줌-->
    public String solution(int month, int day) {
        
        <!--파라미터로 주어진 날짜 정보를 저장한 LocalDate 객체를 리턴-->
        <!--targetDate: 시작 날짜 변수명-->
        <!--LocalDate 의 import 추가 필요-->
        LocalDate targetDate = LocalDate.of(2022, month, day);

        <!--마지막 날짜는 시작 날짜에서 98일을 더해준 날이다.-->
        <!--plusDate: 추가될 날짜 변수명-->
        LocalDate plusDate = targetDate.plusDays(98);

        <!--M월 d일"의 형식으로 시작 날짜(targetDate)에 98일을 더한 날짜를 표현한다.-->
        <!--날짜 포현 형식(포맷)-->
        <!--dateFormatter: 시작 날짜에 추가된 날짜를 더한 날짜를 표현할 변수명, targetDate: 시작 날짜 변수명-->
        <!--DateTimeFormatter 의 import 추가 필요-->
        DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("M월 d일");
        String answer = targetDate.format(dateFormatter);

        return answer;
    }

    <!--테스트 케이스-->
    public static void main(String[] args) {
        Main method = new Main();
        System.out.println(method.solution(1, 18));
    }
}


추가 자료

import 문

사용하고자 하는 클래스 또는 인터페이스가 다른 패키지에 소속되어 있다면, import문으로 해당 패키지의 클래스 또는 인터페이스를 가져와 사용할 것임을 컴파일러에게 알려줘야 한다.

<!--작성법-->
import 상위패키지.하위패키지.클래스이름;
import 상위패키지.하위패키지.*;

날짜 더하기

리턴 타입메소드(매개변수)설명
java.time.LocalDateTimeplusYears()
java.time.LocalDateTimeplusMonths()
java.time.LocalDateTimeplusWeeks()
java.time.LocalDateTimeplusDays()
java.time.LocalDateTimeplusHours()
java.time.LocalDateTimeplusMinutes()
java.time.LocalDateTimeplusSeconds()
java.time.LocalDateTimeplusNanos()밀리초

참고: https://java119.tistory.com/52

profile
개발자로 거듭나기!

0개의 댓글