花金かつ給料日はスーパー花金
花金と給料日が重なるとめでたい。世にいうところの「スーパー花金」である。これをプログラムによって求めよというお題が提案された。
金曜日に Fizz、給料日に Buzz, 金曜日かつ給料日に FizzBuzz を出力するプログラム
— taniguchi (@ravelll) September 14, 2014
というわけで、酒のつまみに適当に書いてみた。
ルール
- 花金は
Fizz
- 給料日は
Buzz
- 花金かつ給料日は「スーパー花金」なので
FizzBuzz
実行例
弊社の場合、給料日は10日なので、2014年1月には以下のようになる。
$ go run hanakin.go -payday 10 -month 1 -year 2014 2014 January ==================== 1 2 Fizz 4 5 6 7 8 9 FizzBuzz 11 12 13 14 15 16 Fizz 18 19 20 21 22 23 Fizz 25 26 27 28 29 30 Fizz
発展
- 給料日が休日の場合、その直前の平日が給与支給日になる会社が多いだろう(弊社もそう)。たとえば、10日が給料日だが、10日が日曜日の場合は8日が給料日、という場合。hanakinスクリプトをその場合にも対応せよ。
- フォーマットを
cal
コマンドに合わせよ。 - 給料日が、三連休があとに続く金曜日である場合を「スーパーウルトラ花金」と定義する。その際に、
FizzBuzz!!1
と出力するようプログラムを改修せよ。