-
반응형
programmers.co.kr/learn/courses/30/lessons/12901?language=cpp
코딩테스트 연습 - 2016년
2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까
programmers.co.kr
문제풀이)
풀기쉽게 월화수목금토일을 저장해주는 day배열(1월1일은 금요일이니 금,토,일,월,화,수,목 순으로 저장)을 만들고,
월별 며칠까지 있는지를 month배열에 저장해둔다. 윤년이므로 2월달은 29일로 저장해준다.
그런뒤 a월 이전까지의 총 날짜를 다 더해주고, 남은b일을 더한다음 1을 빼주고 modulo(%) 7을 해준다음 해당 요일의 값을 return 해주면 된다.
#include <string> #include <vector> using namespace std; string day[7]={"FRI","SAT","SUN","MON","TUE","WED","THU"}; int month[12]={31,29,31,30,31,30,31,31,30,31,30,31}; string solution(int a, int b) { string answer = ""; int sum=-1; for(int i=1;i<a;i++){ sum+=month[i-1]; } sum+=b; answer=day[sum%7]; return answer; }
반응형'문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 3진법 뒤집기 (0) 2020.11.24 [프로그래머스] 가운데 글자 가져오기 (0) 2020.11.24 [프로그래머스] K번째수 (0) 2020.11.24 [프로그래머스] 체육복 (0) 2020.11.24 [프로그래머스] 모의고사 (0) 2020.11.23 댓글