グレゴリオ暦の場合、日付の形式は国によって異なります。認識される3つの主要な形式があります。
YY-MM-DD
(ビッグエンディアン)DD-MM-YY
(リトルエンディアン)MM-DD-YY
(ミドルエンディアン)
あなたの仕事は、日付を表す入力文字列を与えられ、この文字列を日付として解釈できるすべての可能な日付形式を出力するプログラムを書くことです。
ルール
- 入力日付の形式
xx-xx-xx
はで、各フィールドは2桁でゼロが埋め込まれます。 - 日付は常に有効です(14-13-17のようなものは取得できません)
- 日付は常に上記の形式の少なくとも1つです(したがって、17-14-11のようなものは取得できません)
- 私たちは実際にはパラレルワールドにいるため、1年の各月には31日あり、その結果、うるう年はありません
- 日付は2001年1月1日から2099年12月31日の間
- 日付の形式が1つしかない場合、コードはそれだけを印刷する必要があります(末尾の改行のみが許可されます)。
- 日付の形式が複数ある場合は、コンマ、スペース、改行、またはそれらの組み合わせで区切る必要があります
- 形式の正確な名前を出力する必要があります。異なる任意の値を使用することはできません。
- 末尾のスペース以外の先頭または末尾の文字は使用できません
- 出力は小文字でなければなりません
- 組み込みの日付またはカレンダー関数の使用は許可されていません
- 出力フォーマットをソートする必要はありません
例
Input Output
30-05-17 big-endian, little-endian
05-15-11 middle-endian
99-01-02 big-endian
12-11-31 big-endian, little-endian, middle-endian
02-31-33 middle-endian
これはコードゴルフなので、バイト単位の最短コードが優先されます。説明が奨励されます。
3
おそらく、2月31日を使用してテストケースを追加して、その奇妙なケースをサポートする回答を確認する必要があります:P
—
ETHproductions
3つの有効な形式に対して3つの異なる値を出力できますか、それとも3つの正確な文字列でなければなりませんか?
—
ETHproductions 2017年
there are 31 days for every month of the year, and consequently no leap years
つまり、これは日付ライブラリがこれには効果がないことを意味しますか?
@TheLethalCoderはい、ほとんどの日付ライブラリはおそらく使用できません。
—
ジム
世の中にはもっとたくさんのフォーマットがあります。
—
ugoren 2017年