Tapete diagonal

Escreva uma função que receba size e direction e gere um tapete diagonal.

O tamanho é o parâmetro n, e todos os tapetes são quadrados de n x n. A direção indica se a parte diagonal começa no lado esquerdo ou direito.

Exemplos

generateRug(4, "left") ➞ [
  [0, 1, 2, 3],
  [1, 0, 1, 2],
  [2, 1, 0, 1],
  [3, 2, 1, 0]
]

generateRug(5, "right") ➞ [
  [4, 3, 2, 1, 0],
  [3, 2, 1, 0, 1],
  [2, 1, 0, 1, 2],
  [1, 0, 1, 2, 3],
  [0, 1, 2, 3, 4]
]

generateRug(1, "left") ➞ [
  [0]
]

generateRug(2, "right") ➞ [
  [1, 0],
  [0, 1]
]

Observações

  • n > 0
  • Um tapete 1 x 1 é trivialmente [[0]] (o mesmo para left e right).