[백준 2139번] 나는 너가 살아온 날을 알고 있다.
[백준 2139번] 나는 너가 살아온 날을 알고 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | package _1월_3주차; import java.util.Scanner; public class 백준_손수경_정답_2139 { public static boolean isLeapYear(int year) { if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) { return true; } else { return false; } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int day; int month; int year; while (true) { int cnt = 0; day = sc.nextInt(); month = sc.nextInt(); year = sc.nextInt(); if (day == 0 && month == 0 && year == 0) { break; } for (int i = 1; i <= month-1; i++) { if ((i == 1) || (i == 3) || (i == 5) || (i == 7) || (i == 8) || (i == 10) || (i == 12)) { cnt += 31; } else if ((i == 4) || (i == 6) || (i == 9) || (i == 11)) { cnt += 30; } else { if (isLeapYear(year)) { cnt += 29; } else { cnt += 28; } } } for (int i = 1; i <= day; i++) { cnt++; } System.out.println(cnt); } } } | cs |
입력한 달보다 한 달 전까지는 통으로 일수를 더하고, 입력한 달에는 입력한 날짜까지 더한다. 전에 텀프로젝트에서 달력 출력할 때 사용했던 알고리즘이라서 쉬웠다.
댓글남기기