A couple is putting up the Christmas tree. The boy loves Christmas decorations and wants it to be perfectly balanced. He has three types of decorations:
- Colored balls:
B - Small gifts:
R - Pine cones:
P
The Christmas tree is a triangle that must be generated. They already have the base mounted, which would be the first row, and from there they have to place the decorations upwards following a formula.
Place on top : P R B P
If below is : P P B P R P B RThe combinations are also reversed. For example, if below is B P, above is R. But it will also be R if below is P B. Also if below you have repeated the letter, above you use the same letter. For example: if below is B B, above is B.
With these rules, we could see the tree that we would generate with the base B P R P:
R
P B
R B B
B P R PWrite a program that receives the string B P R P and returns an array with the representation of the tree.
decorateTree('B P R P');
// [
// 'R',
// 'P B',
// 'R B B',
// 'B P R P'
// ]
decorateTree('B B'); // ['B', 'B B']Keep in mind that:
- The program always receives the text string that represents the base of the tree.
- The tree must be generated completely, that is, the base and the rows that are generated from it, until the top.
- You have to follow the formula to know which decoration to place in each position.