Uno (Parte 1)

Esta questão foi inspirada no popular jogo de cartas Uno.

Complete a função canPlay. Ela recebe (1) a mão atual de um jogador e (2) a carta que está virada para cima. Retorne true se o jogador puder jogar uma carta ou false se precisar comprar uma carta do baralho.

Um jogador pode jogar uma carta se uma destas condições for atendida:

  • Ele tem uma carta da mesma cor que a carta virada para cima.
  • Ele tem uma carta com o mesmo número que a carta virada para cima.
canPlay(["yellow 3", "yellow 7", "blue 8", "red 9", "red 2"], "red 1") ➞ true
// A mão contém cartas vermelhas.

canPlay(["yellow 3", "yellow 7"], "blue 7") ➞ true
// A mão contém um 7.

Exemplos

canPlay(["yellow 3", "yellow 5", "red 8"], "red 2") ➞ true

canPlay(["yellow 3", "yellow 5", "red 8"], "blue 5") ➞ true

canPlay(["yellow 3", "blue 5", "red 8", "red 9"], "green 4") ➞ false

canPlay(["yellow 3", "red 8"], "green 2") ➞ false

Notas

  • Retorne false se o jogador não tiver nenhuma carta (um array vazio).
  • Não há cartas especiais nem curingas neste baralho.