From e2ddef97694c315f7bd421a02fc3693639056d93 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EA=B0=95=EC=88=98=EB=AF=BC?= Date: Thu, 28 Nov 2024 10:10:54 +0900 Subject: [PATCH] CT_322 --- ...\353\241\234\353\213\254\353\240\245.java" | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 "BOJ/Java/src/B1/Boj_26148_\354\204\270\353\241\234\353\213\254\353\240\245.java" diff --git "a/BOJ/Java/src/B1/Boj_26148_\354\204\270\353\241\234\353\213\254\353\240\245.java" "b/BOJ/Java/src/B1/Boj_26148_\354\204\270\353\241\234\353\213\254\353\240\245.java" new file mode 100644 index 0000000..fbf028c --- /dev/null +++ "b/BOJ/Java/src/B1/Boj_26148_\354\204\270\353\241\234\353\213\254\353\240\245.java" @@ -0,0 +1,54 @@ +package B1; + +import java.io.*; + +public class Boj_26148_세로달력 { + private static int sum; + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); + + int N = Integer.parseInt(br.readLine()); + int dow = Integer.parseInt(br.readLine()) - 1; + sum = 0; + + for (int month = 1; month <= 12; month++) { + switch (month) { + case 1: + case 3: + case 5: + case 7: + case 8: + case 10: + case 12: + dow = cntColCal(dow, 31); + break; + case 4: + case 6: + case 9: + case 11: + dow = cntColCal(dow, 30); + break; + case 2: + if ((N % 4 == 0 && N % 100 != 0) || N % 400 == 0) { // 윤년 + dow = cntColCal(dow, 29); + } else { + dow = cntColCal(dow, 28); + } + break; + } + } + + bw.write(Integer.toString(sum)); + bw.flush(); + } + + private static int cntColCal(int startDow, int days) { + int lastWeekDays = (days - (7 - startDow)) % 21; + + sum += Math.max(0, lastWeekDays - startDow); + + return lastWeekDays % 7; + } +}