문제 출처:https://programmers.co.kr/learn/courses/30/lessons/12901
코딩테스트 연습 - 2016년
2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까
programmers.co.kr

문제 분석
처음에는 calendar library를 가져올까 싶었지만 그냥 간단하게 구현해봤습니다.
2016년 2월은 윤년이기 때문에 29일까지 있으며, 7월 8월이 31일까지 있다는 것을 유념하고 제작했습니다.
코드는 다음과 같습니다:
#include <string>
#include <vector>
using namespace std;
enum weekend{SUN,MON,TUE,WED,THU,FRI,SAT} ;
string weekend_str[7] = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"} ;
#define SETTING FRI
string solution(int a, int b) {
int days = b - 1;
for(int i = 1 ; i < a ; i++){
switch(i){
case 2 : days += 29 ; break ;
case 1 : case 3 : case 5 : case 7 : case 8 : case 10 : case 12 :
days += 31 ; break ;
default : days += 30 ; break ;
}
}
return weekend_str[(days + SETTING) % 7] ;
}
해당 문제는 Github에서도 보실 수 있습니다:
https://github.com/gurcks8989/CodingTest/blob/master/Programmers/P12901_2016.cpp
GitHub - gurcks8989/CodingTest: CodingTest_study_with_c++
CodingTest_study_with_c++. Contribute to gurcks8989/CodingTest development by creating an account on GitHub.
github.com
훈수 및 조언은 언제든 환영입니다.
문제 출처:https://programmers.co.kr/learn/courses/30/lessons/12901
코딩테스트 연습 - 2016년
2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까
programmers.co.kr

문제 분석
처음에는 calendar library를 가져올까 싶었지만 그냥 간단하게 구현해봤습니다.
2016년 2월은 윤년이기 때문에 29일까지 있으며, 7월 8월이 31일까지 있다는 것을 유념하고 제작했습니다.
코드는 다음과 같습니다:
#include <string>
#include <vector>
using namespace std;
enum weekend{SUN,MON,TUE,WED,THU,FRI,SAT} ;
string weekend_str[7] = {"SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"} ;
#define SETTING FRI
string solution(int a, int b) {
int days = b - 1;
for(int i = 1 ; i < a ; i++){
switch(i){
case 2 : days += 29 ; break ;
case 1 : case 3 : case 5 : case 7 : case 8 : case 10 : case 12 :
days += 31 ; break ;
default : days += 30 ; break ;
}
}
return weekend_str[(days + SETTING) % 7] ;
}
해당 문제는 Github에서도 보실 수 있습니다:
https://github.com/gurcks8989/CodingTest/blob/master/Programmers/P12901_2016.cpp
GitHub - gurcks8989/CodingTest: CodingTest_study_with_c++
CodingTest_study_with_c++. Contribute to gurcks8989/CodingTest development by creating an account on GitHub.
github.com
훈수 및 조언은 언제든 환영입니다.