촉촉한초코칩
[백준] 1924(2007년) c언어 본문
문제
오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오.
입력
첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다.
출력
첫째 줄에 x월 y일이 무슨 요일인지에 따라 SUN, MON, TUE, WED, THU, FRI, SAT중 하나를 출력한다.
- (1 ~ x-1)일수 모두 더하기
days 변수에 저장 - days + (y-1)
- 7로 나눈 나머지의 str 배열 값
#include <stdio.h>
#include <stdlib.h>
int main(void) {
int x, y;
scanf("%d %d", &x, &y);
int day[13] = {0,};
char str[8][4] = {"MON", "TUE","WED","THU","FRI","SAT","SUN"};
for(int i=1; i<13; i++) {
if(i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12)
day[i] = 31;
else if(i == 2)
day[i] = 28;
else
day[i] = 30;
}
int days = 0;
for(int i=1; i<x; i++) {
days += day[i];
}
days += (y-1);
days %= 7;
printf("%s\n", str[days]);
}
* https://blog.naver.com/1stwook/30182859109
문자열 배열 크기는 문자 길이+1로 선언하기....
'Algorithm' 카테고리의 다른 글
[백준] 2869(달팽이는 올라가고 싶다) c언어 (0) | 2024.02.02 |
---|---|
[백준] 1316(그룹 단어 체커) c언어 (0) | 2024.01.27 |
[백준] 10815(숫자 카드) c언어 (0) | 2023.12.22 |
[백준] 11651(좌표 정렬하기 2) c언어 (0) | 2023.12.14 |
[백준] 2751(수 정렬하기 2) c언어 (0) | 2023.12.14 |