Gráficos ASCII (Parte 2: Gráfico de barras)

Dado un hash que contiene los valores de ventas trimestrales de un año, devuelve una cadena que representa un gráfico de barras de las ventas por trimestre.

  • Los nombres de los trimestres (Q1, Q2, Q3, Q4) deben aparecer a la izquierda.
  • Los trimestres deben ordenarse por valor descendente.
  • Los trimestres con el mismo valor deben mostrarse en su orden anual (Q1 -> Q4).
  • Las barras deben comenzar con un "|".
  • Repite el carácter "#" para llenar la barra, y cada carácter tiene un valor de 50.
  • Después de la barra va un solo espacio y luego las ventas de ese trimestre.
  • Si el valor es 0, no debe haber ningún espacio después de "|".
  • Usa el carácter de nueva línea ("\n") para separar cada barra del gráfico.

Ejemplo #1

bar_chart({"Q4" => 250, "Q1" => 300, "Q2" => 150, "Q3" => 0})
➞ "Q1|###### 300\nQ4|##### 250\nQ2|### 150\nQ3|0"

Al imprimirse:

Q1|###### 300
Q4|##### 250
Q2|### 150
Q3|0

Ejemplo #2

bar_chart({"Q4" => 500, "Q3" => 100, "Q2" => 100, "Q1" => 150})
➞ "Q4|########## 500\nQ1|### 150\nQ2|## 100\nQ3|## 100"

Al imprimirse:

Q4|########## 500
Q1|### 150
Q2|## 100
Q3|## 100

Notas

No debe haber espacios en blanco adicionales después de cada valor.