Study (etc)/Problem Solving
[BOJ / C] 1924번 : 2007년
Haren
2019. 5. 12. 11:27
<백준 온라인 저지 : 1924번>
- 2007년 -
문제설명
이 문제를 풀며
- 1월 1일이 월요일이라는 것을 기준으로, 입력한 날짜만큼 일수를 더해 그 일수를 7로 나눈 나머지를 이용하여 요일을 판별하자. 각 달의 일수는 배열로 따로 저장해주었다.
- x달 만큼 y에 일수를 더해줄 for문을 사용하였다.
- y를 7로 나눈 나머지로 요일을 판별해줄 switch ~ case 문을 이용하였다. 요일을 포인터 배열을 이용하여 푸신 분의 예제도 본 적 있지만, 포인터 개념에 대한 이해가 부족한 관계로 간단한 switch ~ case 문으로 분기하였다.
내 소스
#include <stdio.h> int main() { int x, y; int month[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; scanf("%d %d",&x,&y); for(int i=0; I<x-1; i++){ y+=month[i];} switch (y % 7) { case 0: printf("SUN\n"); break; case 1: printf("MON\n"); break; case 2: printf("TUE\n"); break; case 3: printf("WED\n"); break; case 4: printf("THU\n"); break; case 5: printf("FRI\n"); break; case 6: printf("SAT\n"); break; } return 0; }
채점 결과