Encontro

Encontro

Médio

Introdução

Todo mês, seu parceiro se encontra com o melhor amigo dele. Os dois têm agendas muito cheias, o que torna difícil encontrar uma data que funcione! Como você também tem uma agenda cheia, seu parceiro sempre confirma com você as possíveis datas do encontro:

  • "Posso me encontrar na primeira sexta-feira do mês que vem?"
  • "E na terceira quarta-feira?"
  • "Talvez no último domingo?"

Na ligação deste mês, seu parceiro te fez esta pergunta:

  • "Eu gostaria de me encontrar na quinta-feira "teenth"; tudo bem?"

Sem entender, você pergunta o que é um dia "teenth". Seu parceiro explica que um dia "teenth", um conceito que ele inventou, refere-se aos dias do mês que terminam em '-teenth':

  • 13th (thirteenth)
  • 14th (fourteenth)
  • 15th (fifteenth)
  • 16th (sixteenth)
  • 17th (seventeenth)
  • 18th (eighteenth)
  • 19th (nineteenth)

Como também há sete dias da semana, é garantido que cada dia da semana tenha exatamente um dia "teenth" por mês.

Agora que você entende o conceito de dia "teenth", confere seu calendário. Você não tem nada planejado para a quinta-feira "teenth", então confirma a data com seu parceiro alegremente.

Instruções

Sua tarefa é encontrar a data exata de um encontro, dado um mês, um ano, um dia da semana e uma semana.

Há seis valores de semana a considerar: first, second, third, fourth, last, teenth.

Por exemplo, pode ser que você precise encontrar a data do encontro na primeira segunda-feira de janeiro de 2018 (1º de janeiro de 2018).

Da mesma forma, pode ser que você precise encontrar:

  • a terceira terça-feira de agosto de 2019 (20 de agosto de 2019)
  • a quarta-feira teenth de maio de 2020 (13 de maio de 2020)
  • o quarto domingo de julho de 2021 (25 de julho de 2021)
  • a última quinta-feira de novembro de 2022 (24 de novembro de 2022)
  • o sábado teenth de agosto de 1953 (15 de agosto de 1953)

Teenth

A semana teenth se refere aos sete dias de um mês que terminam em '-teenth' (13th, 14th, 15th, 16th, 17th, 18th e 19th).

Se pedirem para encontrar o sábado teenth de agosto de 1953, consultamos o calendário:

    August 1953
Su Mo Tu We Th Fr Sa
                   1
 2  3  4  5  6  7  8
 9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

Com isso, vemos que o sábado teenth é 15 de agosto de 1953.

Subtipos

Este exercício define um Subtipo chamado Month, para os números naturais de 1 a 12. Um Subtipo pode ser pensado como um par ⟨x, h⟩, em que x é o valor e h é a prova de sua validade.

O valor dentro de um Subtipo (x, neste caso) pode ser acessado usando .val, por exemplo, x.val. Sua prova pode ser acessada usando .property, por exemplo, x.property. Ambos também podem ser acessados por casamento de padrões, como de costume.


Fonte

Jeremy Hinegardner mencionou um encontro em Boulder que acontece na Wednesteenth de todo mês
Editar via GitHub O link abre em uma nova janela ou aba
Lean Exercism

Tudo pronto para começar Encontro?

Crie sua conta no Exercism para aprender e dominar Lean com 100 exercícios e mentoria humana de verdade, tudo de graça.