Overview 🔍
This question requires removing trailing zeros from a number while preserving its integrity.
Input and Output Examples:
1450 -> 145
960000 -> 96
1050 -> 105
-1050 -> -105
Difficulty Level:
8kyu (easiest level on Codewars)
Solutions 💡
Solutions 1
function noBoringZeros(n) {
while (n % 10 === 0 && n !== 0) {
n = n / 10
}
return n
}
- Procedural programming approach using
while
loop.
Solutions 2
const noBoringZeros = n => n % 10 === 0 && n !== 0 ? noBoringZeros(n / 10) : n;
- Declarative programming approach using recursion.
Solutions 3
function noBoringZeros(n) {
return +`${n}`.replace(/0*$/, "");
}
- Uses a regular expression to remove trailing zeros.
- Converts the number to a string using template literals (
${}
), applies.replace()
, and reconverts the result to a number using the+
operator.
Solutions 4
[][(![]+[])[+!![]]+(!![]+[])[+[]]][([]+[][(![]+[])[+!![]]+(!![]+[])[+[]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+!![]]+(!![]+[])[+[]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!
![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+!![]]+(!![]+[])[+[]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+!![]]+(!![]+[])[+[]]]
)[+!![]+[+[]]]+(!![]+[])[+!![]]]((!![]+[
(here's an excerpt)
- Overly complex solution. (but I like it.)
for more information, visit here
Discussion and Insights 💭
I prefer "Solution 3" because it's simple and reader-friendly while still demonstrating some useful techniques.
If you're curious about these solutions or want to explore more challenges, visit here.
Thank you for reading! 🙌
Top comments (0)