[COS PRO 2급 JAVA] 시작 날짜와 끝 날짜의 사이 날짜구하기

옹잉·2023년 10월 8일

COS PRO 2급 JAVA

목록 보기
3/13

[문제]


[막혔던 점]

빈칸 채우기 문제라 코드가 제시되어있었는데, 시작 날짜와 끝 날짜가 어떻게 며칠만큼 떨어져있는지 구하는 방법을 생각해 내는데 시간이 좀 걸렸다.
그리고 해당 월은 달 전체 날짜를 더하지 않기 때문에 month-1미만 까지의 전체 날짜와 day를 더해주는 식으로 풀었다.

[풀이]

class Main {
       public int func_a(int month, int day){
        int monthList[] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
        int total = 0;
        for(int i = 0; i < month -1; i++)
            total += monthList[i];
        total += day; // 빈칸 채우기라 여기서 day를 더해줬지만, 위의 total 선언부에서 day로 초기화 해도 된다.
        return total - 1;
    }

	 public int solution(int startMonth, int startDay, int endMonth, int endDay) {
        int startTotal = func_a(startMonth, startDay);
        int endTotal = func_a(endMonth, endDay);
        return endTotal - startTotal;
    }

<테스트 케이스>

// 아래는 테스트케이스 출력을 해보기 위한 main 함수입니다.
    public static void main(String[] args) {
        Main sol = new Main();
        int startMonth = 1;
        int startDay = 2;
        int endMonth = 2;
        int endDay = 2;
        int ret = sol.solution(startMonth, startDay, endMonth, endDay);
       
        System.out.println("solution 메소드의 반환 값은 " + ret + " 입니다.");
    }
}
profile
틀리더라도 🌸🌈🌷예쁘게 지적해주세요💕❣️

0개의 댓글