16일차 알고리즘
문제 설명
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"
const month = {
1 : 31,
2 : 29,
3 : 31,
4 : 30,
5 : 31,
6 : 30,
7 : 31,
8 : 31,
9 : 30,
10 : 31,
11 : 30,
12 : 31
}
const week = ["FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"]
function solution(a, b) {
//a월 b일까지 해당되는 모든 일수를 저장
var answer = 0
for( let i = 1; i< a: i++{
//a월 전까지의 모든 월의 일수를 더한다.
answer += month[i]
}
answer += (b - 1)
answer = week[answer % 7]
//console.log(answer)
return answer
}
===============================================================================
const month = {
1 : 31,
2 : 29,
3 : 31,
4 : 30,
5 : 31,
6 : 30,
7 : 31,
8 : 31,
9 : 30,
10 : 31,
11 : 30,
12 : 31
}
const week = ["FRI", "SAT", "SUN", "MON", "TUE", "WED", "THU"]
function solution(a, b) {
const answer = new Array(a)
.fill(1)
.reduce(acc, cur + i) => {
const mn = cur + i
console.log(acc, mn)
return acc + (mn !== a
//이전 월일 경우
?month[mn]
//해당 월일 경우
:b - 1
)
},0)
//console.log(answer)
return week[answer % 7]
}
===============================================================================
const week = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"]
function solution(a, b) {
const answer = new Date( 2016, a - 1, b).getDay()
//console.log(answer)
return week[answer]
}
Author And Source
이 문제에 관하여(16일차 알고리즘), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gusahr119/16일차-알고리즘저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)