【日付セット】月末最後の営業日の曜日 (paizaランク B 相当) 解答例 – PHP編【paiza】
【日付セット】 > 月末最後の営業日の曜日 (paizaランク B 相当)
※リンク先へ移動する為には「paiza」へのログインが必要です。
解答例
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
<?php $input = trim(fgets(STDIN)); $num = $input -1; $weekarray = array("Mon","Tue","Wed","Thu","Fri"); $answeek = $weekarray[$num]; $anscounter = 0; $sample = "2020/1/1"; $sample = strtotime($sample); $roll = 12 * 400; for($i = 0;$i < $roll;$i++){ $test = date("Y/m/t",$sample); $test = strtotime($test); $test = date("Y/m/t/D",$test); $word = explode("/",$test); $year = $word[0]; $month = $word[1]; $day = $word[2]; $week = $word[3]; if($week == "Sun"){ $pue = $year."/"."$month"."/".$day; $pue = strtotime($pue."-2 day"); $pue = date("Y/m/d/D",$pue); $pueword = explode("/",$pue); $pueyear = $pueword[0]; $puemonth = $pueword[1]; $pueday = $pueword[2]; $pueweek = $pueword[3]; if($pueweek == $answeek){ $anscounter++; } } elseif($week == "Sat"){ $pue = $year."/"."$month"."/".$day; $pue = strtotime($pue."-1 day"); $pue = date("Y/m/d/D",$pue); $pueword = explode("/",$pue); $pueyear = $pueword[0]; $puemonth = $pueword[1]; $pueday = $pueword[2]; $pueweek = $pueword[3]; if($pueweek == $answeek){ $anscounter++; } } else { if($week == $answeek){ $anscounter++; } } $sample = $year."/"."$month"."/".$day; $sample = strtotime($sample."+1 day"); } $ans = floor(($anscounter / $roll)*1000000)/1000000; echo $ans; ?> |
