Alfombras concéntricas

Published by Helen Yu in

Crea una función que reciba el parámetro n y genere una alfombra concéntrica de n x n (donde n es impar).

El centro de una alfombra concéntrica es 0, y la alfombra «se expande hacia afuera», como se muestra en los ejemplos siguientes.

Ejemplos

generate_rug(1) ➞ [
  [0]
]

generate_rug(3) ➞ [
  [1, 1, 1],
  [1, 0, 1],
  [1, 1, 1]
]

generate_rug(5) ➞ [
  [2, 2, 2, 2, 2],
  [2, 1, 1, 1, 2],
  [2, 1, 0, 1, 2],
  [2, 1, 1, 1, 2],
  [2, 2, 2, 2, 2]
]

generate_rug(7) ➞ [
  [3, 3, 3, 3, 3, 3, 3],
  [3, 2, 2, 2, 2, 2, 3],
  [3, 2, 1, 1, 1, 2, 3],
  [3, 2, 1, 0, 1, 2, 3],
  [3, 2, 1, 1, 1, 2, 3],
  [3, 2, 2, 2, 2, 2, 3],
  [3, 3, 3, 3, 3, 3, 3]
]

Notas

  • n es un entero impar positivo.
  • Incrementa siempre en 1 por cada «capa» que recorras hacia afuera.