GitHubSeob
C++ / 프로그래머스 / 2016년 본문
문제
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
문제풀이
1, 3, 5, 7, 8, 10, 12월은 31일까지,
4, 6, 9, 11월은 30일까지,
윤년이므로 2월은 29일까지 있다.
월과 요일을 나타내는 벡터를 따로 만들면 코드가 더 간결해진다.
월과 일을 입력받으면 1월 1일과 차이나는 일 수를 구하고, 7로 나눈 나머지를 구해 해당하는 요일을 출력한다.
코드
#include <string>
#include <vector>
using namespace std;
string solution(int a, int b) {
vector<int>month = { 31,29,31,30,31,30,31,31,30,31,30,31 };
vector<string>day = { "FRI","SAT","SUN","MON","TUE","WED","THU" };
int dday = b - 1;
for (int idx = 0; idx <= a - 2; ++idx)
dday += month[idx];
return day[(dday) % 7];
}
'Programmers > Level 1' 카테고리의 다른 글
C++ / 프로그래머스 / 같은 숫자는 싫어 (0) | 2021.08.28 |
---|---|
C++ / 프로그래머스 / 가운데 글자 가져오기 (0) | 2021.08.28 |
C++ / 프로그래머스 / 위클리 챌린지 4주차 / 직업군 추천하기 (0) | 2021.08.26 |
C++ / 프로그래머스 / 두 개 뽑아서 더하기 (0) | 2021.08.21 |
C++ / 프로그래머스 / 예산 (0) | 2021.08.21 |