fragment-header
fragment-markdown
홈
로그인
로그아웃
내 블로그
설정
로그인
백준 26148 (C++) 세로 달력
최초 업로드: 2025-10-28 13:57:27
최근 수정 시간: 2025-10-28 13:57:27
게시자: rlatjwls3333
카테고리: 백준
조회수: 12
# [Bronze I] 세로 달력 [문제 링크](https://www.acmicpc.net/problem/26148) ## 문제 설명 <p>달력을 유심히 바라보던 성현이는 달력의 어떤 열은 $5$칸으로 이루어져 있다는 사실을 발견했다.</p> <p>성현이는 $5$칸으로 이루어져 있는 <strong>달력의 열</strong>을 "세로 달력"이라고 부르기로 했다.</p> <p style="text-align: center;"><img alt="" src="https://upload.acmicpc.net/4b6b893c-c375-4136-b31f-cbdc9afe6b72/-/preview/"></p> <p>성현이는 $N$년 달력에는 총 몇 개의 "세로 달력"이 있는 지 궁금해한다.</p> <p>성현이를 위해 $N$년 달력의 "세로 달력" 수를 구해주자!</p> ## 입력 <p>첫 번째 줄에 $N$이 주어진다. $(1\ 900 \le N \le 10^9)$</p> <p>두 번째 줄에 $N$년 달력 1월 1일의 요일이 주어진다.</p> <p>요일은 $1$에서 $7$까지의 숫자로 주어지며, 각 숫자는 순서대로 [일,월,화,수,목,금,토]를 의미한다. (단, 입력은 현실의 달력과 다를 수 있다.)</p> ## 출력 <p>$N$년 달력의 '세로 달력' 수를 구해 출력한다.</p> ## 풀이 31일인 날은 3일, 30일인 날은 2일, 윤년인 2월은 1일로 무슨 요일로 시작하는지와는 상관 없이 더해주면 됩니다. ``` c++ #include<bits/stdc++.h> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); int n; cin >> n; int ret = 2*4 + 3*7; if(n%4==0 && n%100!=0 || n%400==0) ret++; cout << ret; } ```