Introdução
Frequentemente, as pessoas se referem a datas como a "segunda sexta-feira em agosto de 2018" ou o "quarto domingo de março de 2012". Mas é difícil dizer que data é essa! Sua tarefa é escrever um programa que receba um ano, um mês, um dia da semana e um número inteiro e gerar essa data.
Desafio
Para entrada, você receberá um ano, um mês, um dia da semana e um número.
Você pode receber entradas em qualquer formato razoável, como usar uma sequência de caracteres para o dia da semana ou usar um dia da semana indexado a zero, ou ainda fazer o ano e o mês em uma única sequência. Porém, explique seu formato de entrada na sua resposta.
O número inteiro que informa qual dia da semana no mês a ser segmentado será um número inteiro de 1 a 5. O número inteiro nunca se refere a um dia da semana que não existe (por exemplo, a quinta sexta-feira de fevereiro de 2019, que não existe).
Os anos serão sempre positivos.
Sua saída pode estar em qualquer formato razoável, incluindo a impressão da data final. No entanto, explique seu formato de saída em sua resposta.
Fornecer o ano e o mês na saída é opcional. Além disso, você pode assumir que a data é válida.
Exemplo de entrada e saída
Considere esta entrada, com o formato sendo utilizado no ano como um número de 4 dígitos, o mês como um número inteiro, o dia da semana como uma sequência e o número ordinal como um número inteiro:
2019, 3, sábado, 2
2019, 12, domingo, 1
2019, 9 sábado, 1
Resultado:
9 de março -
1 de
setembro - 7 de setembro
Este é o código-golfe , por isso a resposta mais curta vence.
date
, mas divertidamente, o analisador tem uma ... interpretação interessante aqui.