## DEV Community π©βπ»π¨βπ» is a community of 963,673 amazing developers

We're a place where coders share, stay up-to-date and grow their careers.

Ilya Nevolin

Posted on

# Road to Genius: smart #23

Each day I solve several coding challenges and puzzles from Codr's ranked mode. The goal is to reach genius rank, along the way I explain how I solve them. You do not need any programming background to get started, and you will learn a ton of new and interesting things as you go.

In this post I am going to discuss two challenges. Both are pretty easy but worth analyzing, especially for beginners.

The first challenge starts off with two arrays, both are filled with 5 random numbers. Then it creates a new array `arr` which is `= a1.concat(a2)`. The concat operation takes the values from `a1` and appends the values of `a2`, basically it combines both arrays. In the end `arr` will contain 10 numbers (first all from `a1` then all from `a2`). That's what concatenation means. So to solve this challenge we need to solve `R = arr.length` which is 10.

The second challenge is slightly more difficult. This time the challenge asks us to fix the bug πΌ. It also states that `A = 17576` which is a pretty large number, and the `tricube` function looks frightening to a beginner. But fortunately you can ignore this information. The bug πΌ appears to be just a variable name, the only meaningful variable at that scope is `A`.

Let's briefly discuss the last three lines of code.
`let A = tricube(3);` This creates variable A and gives it the value that's returned from the function.
`A = Math.floor(A);` this rounds down the value of A, for instance 0.5 becomes 0, 5.2 becomes 5, 7.9 becomes 7. That's how floor-rounding works.
`A = Math.abs(A);` This ensures that A is absolute (non-negative).

By solving these challenges you train yourself to be a better programmer. You'll learn newer and better ways of analyzing, debugging and improving code. As a result you'll be more productive and valuable in business. Join me on the Road to Genius and upgrade your programming skills, at https://nevolin.be/codr/