前書き
多くの場合、人々は日付を「2018年8月の第2金曜日」または「2012年3月の第4日曜日」と呼びます。しかし、それが何の日付であるかを伝えるのは難しいです!あなたの仕事は、年、月、曜日、整数を受け取るプログラムを作成し、その日付を出力することです。
チャレンジ
入力については、年、月、曜日、および数字を取得します。
曜日に文字列を使用したり、ゼロインデックス付きの平日を使用したり、年と月を1つの文字列にしたりするなど、妥当な形式で入力を取得できます。ただし、回答では入力形式を説明してください。
月のどの曜日をターゲットにするかを示す整数は、1〜5の整数になります。整数は、存在しない曜日を指すことはありません(たとえば、存在しない2019年2月の5番目の金曜日)。
年は常にプラスになります。
出力は、最終日を印刷するなど、合理的な形式で作成できます。ただし、回答の出力形式を説明してください。
出力での年と月の指定はオプションです。また、日付が有効であると想定することもできます。
入力と出力の例
次の入力を考えてください。形式は、年を4桁の数字、月を整数、曜日を文字列、序数を整数として取ります。
2019、3、2、土曜日、2
2019、12、日曜日、1
2019、9、土曜日、1
出力:
3月9日
12月1日
9月7日
これはcode-golfなので、最短の回答が勝ちます。
date
が、面白いことに、パーサーには... ここで興味深い解釈があります。