본문 바로가기
⌨️ Algorithm/C

1/14 [C] 백준 1924번 - 2007년

by Lucy Oh 2022. 1. 24.

<문제>

https://www.acmicpc.net/problem/1924

 

1924번: 2007년

첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다.

www.acmicpc.net

 

<제출한 코드>

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main() {
	int m, d,i,std=0;
	int mon[13] = { 0,31,28,31,30,31,30,31,31,30,31,30,31 };


	scanf("%d %d", &m, &d);

	if (m > 1) {
		for (i = 1; i < m; i++) {
			std += mon[i];
		}
		std += d;
	}
	else std = d;

	if (std % 7 == 1) printf("MON");
	else if (std % 7 == 2) printf("TUE");
	else if (std % 7 == 3) printf("WED");
	else if (std % 7 == 4) printf("THU");
	else if (std % 7 == 5) printf("FRI");
	else if (std % 7 == 6) printf("SAT");
	else if (std % 7 == 0) printf("SUN");


}

1월 1일을 기준으로 며칠이 지났는지를 먼저 계산해주고

(만약 달이 바뀌었다면 배열을 사용하여 해당 인덱스에 해당하는 원소를 더하는 방법으로 계산해줌)

7을 나눈 나머지가 1이면 월요일, 2면 화요일 .. 이런식으로 추력될 수 있도록 해주었다.

댓글