私はif/else
30分ごとに大きな条件を持つことができますが、より多くの数学とUnicodeベースのソリューションを探しています。
時計の絵文字は次のとおりです。適切なレンダリングサポートがない場合は、以下(同じ順序ではなく、表示と異なる場合があります)またはUnicodeチャート(ページ4)で表示できます。これらはUnicodeコードポイントU + 1F550(CLOCK FACE ONE OCLOCK)からU + 1F567(CLOCK FACE TWELVE-THIRTY)まで。
あなたの課題は、現在のシステム時刻に最も近い文字盤の絵文字をSTDOUTに出力するプログラムを書くことです(AMとPMは同じように扱われるべきです)。たとえば、時間t
が[5:15 <t <5:45)の場合、5:30絵文字🕠を表示します。
これはコードゴルフなので、バイト単位の最短コードが優先されます。コードをテストする時間を簡単に指定する方法を含めることができます。
エッジテストケース
Time Output Written
----------------------
11:48 🕛 12:00
3:15 🕞 3:30
9:45 🕙 10:00