2016年(javascript)


問題の説明


2016年1月1日は金曜日です.2016年a月b日は何曜日ですか?2つの数a,bを入力し,2016年a月b日が曜日である関数を返し,解を完成する.日曜日の名称は日曜日から土曜日までSUN、MON、TUE、WED、THU、FRI、SAT
.たとえば、a=5、b=24の場合は、5月24日が火曜日であるため、文字列「TUE」を返します.

せいげんじょうけん


2016年は閏年です.
2016年a月b日は実在の日です(13月26日または2月45日などの日付は提供されません)

I/O例


abresult524"TUE"

問題を解く

let month = [0,31,29,31,30,31,30,31,31,30,31,30]
let day = ["THU","FRI","SAT","SUN","MON","TUE","WED"]
function solution(a, b) {
  let x = 0
  let y = 0  
  for (let i = 0; i < a; i++) {
    x += month[i]    
  }    
  y = x + b  
  z = y % 7
  let answer = day[z]
  return answer;
}
  • 12月31日は366日、12月30日は365日、12月29日は364日と月を除いて1とし、7等分の残り値に相当する曜日を返します.
  • aの月までに、すべての日数を増やすために、monthの配列を発表した.
  • 7の残りの値で除算された対応する日付は、dayとして列挙される.
  • 句を使用して、aに相当する月までにすべての日数を加算し、7で割った残りの値をインデックスとする配列dayの値を返します.