Padrão de tabuleiro de xadrez

Published by Mubashir Hassan in

Crie uma função que retorne true se o array de entrada bidimensional de n x n tiver um padrão de tabuleiro de xadrez.

Exemplos

isCheckerboard([
  [1, 1],
  [0, 1]
]) ➞ false

isCheckerboard([
  [0, 1],
  [1, 0]
]) ➞ true

isCheckerboard([
  [1, 0, 1, 0, 1],
  [0, 1, 0, 1, 0],
  [1, 0, 1, 0, 1],
  [0, 1, 0, 1, 0],
  [1, 0, 1, 1, 1]
]) ➞ false

isCheckerboard([
  [1, 0, 1, 0, 1],
  [0, 1, 0, 1, 0],
  [1, 0, 1, 0, 1],
  [0, 1, 0, 1, 0],
  [1, 0, 1, 0, 1]
]) ➞ true

Observações

  • Um elemento do array segue o padrão de tabuleiro de xadrez se os elementos diretamente à esquerda, à direita, acima e abaixo forem de um tipo diferente, e os elementos na diagonal forem do mesmo tipo.
  • O elemento no canto superior esquerdo pode ser 0 ou 1.