#include <string>
#include <vector>
using namespace std;
string solution(int a, int b) {
string answer = "";
int c = 0;
--a;
if(a != 0) {
if(a == 1) { b+= 31;
}else if((a % 2 == 1 && a < 8) || (a % 2 == 0 && a > 7)) {
a /= 2; c = a + 1;
if(a >= 4) { --a;}
b += c * 31 + a * 30 - 1;
} else {
a /= 2; c = a;
if(c >= 4) ++c;
b += c * 31 + a * 30 - 1;
}
}
b = b % 7;
switch (b) {
case 1: answer = "FRI";break;
case 2: answer = "SAT";break;
case 3: answer = "SUN";break;
case 4: answer = "MON";break;
case 5: answer = "TUE";break;
case 6: answer = "WED";break;
case 0: answer = "THU";break;
}
return answer;
}
진짜 C 처음 입문할 때 과제로 나온 달력만들기의 간단 버전 문제입니다.
1월부터 현재 - 1 만큼의 개월 수를 일로 환산하고 1일부터 현재 일수까지를 더해서 7로 나머지 연산을 한 후 요일을 리턴하도록 구상하였습니다.
IF와 switch 를 그냥 둘 다 써보고 싶어서 각기 다른 방법으로 구현하였습니다.
문제 : https://programmers.co.kr/learn/courses/30/lessons/12901
'Problem Solving > 프로그래머스' 카테고리의 다른 글
[프로그래머스/C++] 하샤드 수 (0) | 2022.01.17 |
---|---|
[프로그래머스/C++] K번째수 (0) | 2022.01.16 |
크레인 인형뽑기 (0) | 2022.01.16 |
구명보트 (0) | 2022.01.16 |
실패율 (0) | 2022.01.16 |