【日付セット】> 翌営業日 - その1 (paizaランク C 相当) [難易度: 1662 ±23]
※リンク先へ移動するためには[paiza]へのログインが必要です。
M月D日d曜日の翌営業日の日付を表示してください。
営業日には、次のルールがあります。
・営業日は、月曜日から金曜日とし、休業日は、土曜日と日曜日とします。
・休業日は土曜日と日曜日のみです。例えば、祝日の「海の日」は月曜日ですが、営業日とします。
日付には、次のルールがあります。
・全ての年の2月28日の翌日は、3月1日とします。うるう年は考慮しません。
入力値(例)
12 31 MON
出力値(例)
1月1日
解答例
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 |
<?php list($m, $d, $dd) = explode(" ", trim(fgets(STDIN))); if ($dd == "FRI") { $d += 3; } else if ($dd == "SAT") { $d += 2; } else { $d += 1; } if ($m == 1 || $m == 3 || $m == 5 || $m == 7 || $m == 8 || $m == 10 || $m == 12) { if ($d > 31) { if ($m == 12) { $m = 1; $d -= 31; } else { $m++; $d -= 31; } } } else if ($m == 2) { if ($d > 28) { $m++; $d -= 28; } } else if ($m == 4 || $m == 6 || $m == 9 || $m == 11) { if ($d > 30) { $m++; $d -= 30; } } printf("%d月%d日", $m, $d); ?> |