もともと@Tlinkによって投稿(および削除)されました。これは、このStackOverflowの質問に触発された可能性が高いです。
それは削除されたのは残念だったので、それは一般に良い挑戦のように思えたので、私は適切なフォーマットとルールでそれを再投稿すると思いました。(@Tlinkに連絡して投稿の許可を取得しようとしましたが、(s)彼はこれ以上応答しないため、今すぐ自分で投稿することにしました。)
入力: 6桁。
出力: 24時間形式の最初または最後の有効な時間(00:00:00
〜23:59:59
)。(最初または最後の有効な時間を出力するかどうかを自分で選択できます。)
例:
入力がの1,8,3,2,6,4
場合、次の時間が作成できます。
12:36:48 12:38:46 12:46:38 12:48:36
13:26:48 13:28:46 13:46:28 13:48:26
14:26:38 14:28:36 14:36:28 14:38:26
16:23:48 16:24:38 16:28:34 16:28:43
16:32:48 16:34:28 16:38:24 16:38:42
16:42:38 16:43:28 16:48:23 16:48:32
18:23:46 18:24:36 18:26:34 18:26:43
18:32:46 18:34:26 18:36:24 18:36:42
18:42:36 18:43:26 18:46:23 18:46:32
21:36:48 21:38:46 21:46:38 21:48:36
23:16:48 23:48:16
したがって、最初または最後のそれぞれ12:36:48
または23:48:16
この場合に出力します。
チャレンジルール:
- 回答の最初または最後の有効な時間を出力したかどうかを示します。
- I / Oは柔軟です。入力には、6つの整数を使用できます。6桁の数字を含む文字列。整数リスト/配列。単一の(おそらく8進数)番号。など。出力は、正しい順序の数字のリスト/配列にすることができます。形式の文字列
HH:mm:ss
/HHmmss
/HH mm ss
。改行区切り文字で印刷されたすべての数字。など。 - 任意の順序で数字を取得することが許可されているため、すでに最低から最高、またはその逆にソートできます。
- 指定された数字(つまり
2,5,5,5,5,5
)で有効な時間を作成できない場合は、任意の方法で明確にします。null
/を返すことができfalse
ます"Not possible"
; エラーでクラッシュします。など(のような無効な時間55:55:52
、またはのような別の有効な時間を出力することはできません00:00:00
。)有効な時間を作成できない入力をどのように処理するかを指定してください。 - 有効なすべての時間を出力することはできません。最古/最新のみが出力/返される必要があります。
24
時間(つまり24:00:00
)、または60
分/秒(つまり00:60:60
)は無効です。範囲は[00-23]
、時間と[00-59]
分と秒です。
一般的なルール:
- これはcode-golfであるため、バイト単位の最短回答が優先されます。
コードゴルフ言語では、非コードゴルフ言語で回答を投稿しないようにしてください。「任意の」プログラミング言語の可能な限り短い答えを考えてみてください。 - 回答には標準の規則が適用されるため、STDIN / STDOUT、適切なパラメーターと戻り値型、完全なプログラムを持つ関数/メソッドを使用できます。あなたの電話。
- デフォルトの抜け穴は禁止されています。
- 可能であれば、コードのテストへのリンクを追加してください。
- また、必要に応じて説明を追加してください。
テストケース:
Input: Earliest output: Latest output:
1,2,3,4,6,8 12:36:48 23:48:16
2,5,5,5,5,5 None possible None possible
0,0,0,1,1,1 00:01:11 11:10:00
1,1,2,2,3,3 11:22:33 23:32:11
9,9,9,9,9,9 None possible None possible
2,3,5,5,9,9 23:59:59 23:59:59
1,2,3,4,5,6 12:34:56 23:56:41
0,0,0,0,0,0 00:00:00 00:00:00
1,5,5,8,8,8 18:58:58 18:58:58
1,5,5,5,8,8 15:58:58 18:58:55
1,1,1,8,8,8 18:18:18 18:18:18
06:08:60
その分にうるう秒があった場合、有効でしょうか?
60
分と秒は無効です。範囲は[00-23]
、[00-59]
と[00-59]
。これをチャレンジで明らかにします。
23:48:16
この例の有効な出力ではありませんか?