-
[프로그래머스/Level 1] 2016년 (C++)알고리즘 문제풀이/프로그래머스 2021. 3. 16. 10:09
programmers.co.kr/learn/courses/30/lessons/12901
별다른 설명없이 주석을 통해 문제를 이해할 수 있을 것 같습니다.
#include <string> #include <vector> using namespace std; string solution(int a, int b) { int total = 0; // 1일이 금요일인데 배열의 인덱스는 0번부터 시작하므로, "THU" 부터 초기화 string day[7] = {"THU", "FRI", "SAT", "SUN", "MON", "TUE", "WED"}; // 윤년에는 2월이 29일까지 존재한다, 왼손 계산법 int month[13] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; for(int m = 1; m < a; m++) { total += month[m]; // 만약 5월 24일 때, 4월까지만 전체 일 수를 더해준다. } return day[(total + b) % 7]; // 4월까지의 전체 일수에 현재 5월의 일 수인 b를 더해준다. 그리고 7의 나머지가 요일이 된다. }
'알고리즘 문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스/Level 2] 배달 (C++) (0) 2021.04.06 [프로그래머스/Level 2] 게임 맵 최단거리 (C++) (0) 2021.03.25 [프로그래머스/Level 1] 신규 아이디 추천 (C++) (0) 2021.03.07 [프로그래머스/Level 3] 멀리 뛰기 (C++) (0) 2021.02.27 [프로그래머스/Level 3] 스타 수열 (C++) (0) 2021.02.26