-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathReto #21.js
More file actions
85 lines (74 loc) · 1.83 KB
/
Reto #21.js
File metadata and controls
85 lines (74 loc) · 1.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
/**
* Reto #21: 🤖 El robot de limpieza
*
* ¡El almacén vertical de Santa se ha modernizado! Ahora, además de apilar los regalos, hay un
* robot 🤖 en el almacen que recoje los regalos si hay una fila completa.
El almacén es una matriz con # regalos y . espacios vacíos. Debes crear una función clearGifts que
reciba el estado del almacén y un array con las columnas donde se dejan caer los regalos.
Reglas de la caída:
El regalo cae por la columna indicada desde arriba.
Se coloca en la celda vacía (.) más baja de esa columna.
Si la columna está llena, el regalo se ignora.
Regla del robot de limpieza:
Si al colocar un regalo, una fila se completa totalmente con regalos (#), esa fila desaparece.
Todas las filas que estaban por encima de la fila eliminada bajan una posición.
Al eliminarse una fila, aparece una nueva fila vacía (.) en la parte superior para mantener el tamaño del
almacén.
*
*
*Ejemplos:
*/
clearGifts(
[
['.', '.', '.'],
['.', '.', '.'],
['#', '.', '#']
],
[1]
)
/*
1. El regalo cae en la columna 1
2. La fila 2 se convierte en [# # #].
3. La fila 2 está completa, el robot la limpia.
6. Se añade una nueva fila vacía en la posición 0.
Resultado:
[
['.', '.', '.'],
['.', '.', '.'],
['.', '.', '.']
]
*/
clearGifts(
[
['.', '.', '#'],
['#', '.', '#'],
['#', '.', '#']
],
[0, 1, 2]
)
/*
1. El regalo cae en la columna 0
2. El regalo cae en la columna 1
3. La fila 2 se convierte en [# # #]
4. La fila 2 está completa, el robot la limpia
Por ahora queda así:
[
['.', '.', '.']
['#', '.', '#'],
['#', '.', '#'],
]
5. El regalo cae en la columna 2
Resultado:
[
['.', '.', '#'],
['#', '.', '#'],
['#', '.', '#']
]
*/
/**
* @param {string[][]} warehouse
* @param {number[]} drops
* @returns {string[][]}
*/
function clearGifts(warehouse, drops) {
}