Fácil 0 resueltos 0% de aceptación

Hollow Square

Draw the outline of a square with * characters.

Lo que aprenderás

  • Dibujar un borde con caracteres
  • Detectar primeras y últimas filas y columnas
  • Construir las cadenas fila a fila

Problema

Draw a hollow square of side size: the first and last rows are all *, and the rows in between have * only at the two ends with spaces inside.

Implement hollow_square(size).

Input

size: The side length.

Output

Return the rows from top to bottom.

Restricciones

1 ≤ size ≤ 50

Ejemplos

Ejemplo 1
Entrada:
size = 4

Salida esperada:
expected = ["****", "*  *", "*  *", "****"]
Entrada:
long long size = 4;

Salida esperada:
std::vector<std::string> expected = {"****", "*  *", "*  *", "****"};
Entrada:
long size = 4;

Salida esperada:
string[] expected = new string[] {"****", "*  *", "*  *", "****"};

Explicación

Rows are "****", "* *", "* *", "****".

Ejemplo 2
Entrada:
size = 1

Salida esperada:
expected = ["*"]
Entrada:
long long size = 1;

Salida esperada:
std::vector<std::string> expected = {"*"};
Entrada:
long size = 1;

Salida esperada:
string[] expected = new string[] {"*"};

Explicación

A 1×1 square is a single "*".

Cómo abordarlo

Inténtalo primero por tu cuenta y luego abre las pistas una a una.

Pista 1

El borde va relleno, mientras que el interior queda vacío.

Pista 2

Trata la primera y la última fila de forma distinta a las filas del medio.

Pista 3

Para tamaño uno, la única celda es borde y esquina a la vez, así que debe ir rellena.

Complejidad esperada

tiempo O(size^2), espacio extra O(size^2)

Referencias

Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.

Aprende de otros

Soluciones de la comunidad

Aún no hay soluciones publicadas. Resuelve este reto para compartir la primera.