一問一答コーディング問題「必要な引数を吟味しよう」【アルゴリズム】

こんにちは、@codeship_techです。

タイトルの通り、今回は普段と違い皆さんに問題を出してみたいと思います。

結構プログラミングやってるよ!という方はこれまでの復讐に。
これから!という方は予習にチャレンジしてみてください!

お題は「必要な引数を吟味してみよう」です!

以下の機能を持つ関数の引数の組み合わせとして必要最小限なものはどれでしょう?(選択肢ABCD)
(難易度:★★★☆☆)

関数の機能
  • 今日の日付をDatetime型から生成 …①
  • ①からその日付が何曜日かを取得…②
  • ②からその日付が何月かを取得… ③
  • ②が土曜か日曜または③がこちらから指定した月だった場合true, それ以外ならfalseを返す
js 
function isSameDay( /* この部分に入るものを A , B, C, Dから選択*/ ){

 let today = new Date();
 let tDay = today.getDay();
 let tMonth = today.getMonth();

 if(tDay === 5 || tDay === 6){
    return true;
 }
 if(tMonth === month){
   return true;
 }
 return false;
}
A.  today , tDay, tMonth, month
B. today, tDay, month
C. today, month
D. month

回答は下にスクロール























正解:D. month

  • todayは「今日」という情報からDateオブジェクトとして生成する
  • tDay, tMonthはtodayからgetXXXで取得する

一方

  • monthはこちらから与えた情報を用いている

ので、唯一引数として必要になります。

変数の情報をプログラムが生成しているのか、こちらから与えているのか」がポイントです。

他の一問一答コーディング問題はこちら

授業日記についてのご意見

CodeShipの授業について「こんな事が知りたい・紹介して」というご意見・ご提案がありましたら、CodeShip公式Twitterアカウント(【CodeShip】プログラミングスクール)までDMまたはリプライにてお寄せください。