

빈칸 채우기 문제라 코드가 제시되어있었는데, 시작 날짜와 끝 날짜가 어떻게 며칠만큼 떨어져있는지 구하는 방법을 생각해 내는데 시간이 좀 걸렸다.
그리고 해당 월은 달 전체 날짜를 더하지 않기 때문에 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 + " 입니다."); } }