프로그래머스_2016년
달력계산
문제 해석
이 문제를 풀기위해 이해해야 할 내용은 다음과 같습니다.
목표
해당하는 날짜의 요일 출력
방법
1. 2016년은 윤년
2. 실제로 있는날만 테스트
결과
해당하는 날짜의 요일 출력
통과한 코드
#include <stdlib.h>
#include <string.h>
char* solution(int a, int b) {
// 리턴할 값은 메모리를 동적 할당해주세요.
char* answer = (char*)malloc(4);
memset(answer, 0, 4);
int months[12] = { 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
int date = 0;
for (int i = 0; i < a-1; i++)
{
date += months[i];
}
date += b;
switch (date%7)
{
case 1:
strcpy(answer, "FRI");
return answer;
case 2:
strcpy(answer, "SAT");
return answer;
case 3:
strcpy(answer, "SUN");
return answer;
case 4:
strcpy(answer, "MON");
return answer;
case 5:
strcpy(answer, "TUE");
return answer;
case 6:
strcpy(answer, "WED");
return answer;
case 0:
strcpy(answer, "THU");
return answer;
default:
break;
}
return answer;
}
이전 월까지 월별로 날짜를 더해준 후 해당 월의 날짜를 더해준다
금요일이 1월1일 이므로 switch문으로 확인하여 출력.
'프로그래밍 > 프로그래머스' 카테고리의 다른 글
C++ 같은 숫자는 싫어(프로그래머스) (0) | 2020.06.01 |
---|---|
C++ 가운데 글자 가져오기(프로그래머스) (0) | 2020.05.31 |
C++ K번째수(프로그래머스) (0) | 2020.05.31 |
C++ 체육복(프로그래머스) (0) | 2020.05.29 |
C++ 모의고사(프로그래머스) (0) | 2020.05.27 |