문제 설명
2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a , b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN, MON, TUE, WED, THU, FRI, SAT입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요.
제한 조건
- 2016년은 윤년입니다.
- 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일 같은 날짜는 주어지지 않습니다)
입출력 예
a | b | result |
5 | 24 | "TUE" |
나의 풀이
나는 월마다 각각의 일 수를 모두 더한 후, 요일 수인 7을 나누어 나머지 값을 이용해 요일을 반환하려고 한다.
function solution(a, b) {
let totalDate = b;
for(let i = 1; i < a; i++) {
if(i === 2) {
totalDate += 29;
} else if([4, 6, 9, 11].includes(i)) {
totalDate += 30;
} else {
totalDate += 31;
};
};
let week = ['THU', 'FRI', 'SAT', 'SUN', 'MON', 'TUE', 'WED'] ;
return week[totalDate % 7];
}
- for문을 활용해 입력받은 날짜까지의 총일수를 더한다.
- 2016년 1월 1일은 금요일 이므로 일수에서 7로 나눈 나머지 값이 1일 때 'FRI'로 반환하고 싶었기 때문에 'THU'로 시작하는 요일 배열 week를 생성했다.
- week에서 총 일 수 에서 7로 나눈 나머지값 인덱스에 있는 값을 반환한다.
'Algorithm > level1' 카테고리의 다른 글
[프로그래머스] 같은 숫자는 싫어 (Javascript) (0) | 2023.09.05 |
---|---|
[프로그래머스] 가운데 글자 가져오기 (Javascript) (0) | 2023.08.30 |
[프로그래머스] 폰켓몬 (Javascript) (0) | 2023.08.28 |