Coding Challenges
Difficulty level - E-Easy, M-Medium, H-Hard
1. Sum Of Array Numbers (E)
You are given an array of two numbers [a,b]. Find the sum of those two numbers plus the sum of all the numbers between them.
Test Cases
sum([1, 4]) - Returns 10
sum([4, 1]) - Returns 10
Solution
// My Solution
const arr = [4, 1];
const sortedArr = arr.sort(); //sorts in asc order
let temp = 0;
for (let i = sortedArr[0]; i <= sortedArr[sortedArr.length - 1]; i++) {
temp += i;
}
console.log(temp);
2. Factorial Of Numbers (E)
Give an integer (num), find the factorial of that integer.
Test Cases
factorial(0) - Returns 1 (We're not going to understand the math behind this)
factorial(1) - Returns 1
factorial(4) - Returns 24
factorial(5) - Returns 120
// My Solution
function factorial(num) {
// 2 -> 2 * fact(1)
// 3 -> 3 * fact(2)
if (num === 1 || num === 0) {
return 1;
}
return num * factorial(num - 1);
}
console.log(factorial(5));
3. Fibonacci Sequence (E)
Give a number n, find the first n elements of the Fibonacci series.
Fibonacci Series is a series of numbers in which each number ( Fibonacci number ) is the sum of the two preceding numbers.
Test Cases
printFibonacci(2) - Returns 0 1
printFibonacci(7) - Returns 0 1 1 2 3 5 8
// My Solution
function fibonacci (n) {
if (n < 2) {
return n
}
return fibonacci(n - 1) + fibonacci(n - 2)
}
function printFibonacci (n) {
for (let i = 0; i < n; i++) {
console.log(fibonacci(i))
}
}
printFibonacci(7)
4. Find Prime Numbers (M)
Given two numbers min and max, find all the prime numbers in the range of min to max. (min and max included)
Test Cases
printPrime(0, 20) - Returns 2 3 5 7 11 13 17 18
5. Is Palindrome (E)
Given a string (str), determine if it is a palindrome. A palindrome is a word, phrase, or sequence that reads the same backward as forwards, e.g. madam.
// My Solution
const str = 'racecar'; // true
/* const str = 'car'; */ // false
function checkPal(str){
let reverse = '';
for(let i=str.length-1; i>=0; i--) {
reverse += str[i]
}
if(str == reverse)
return true
return false
}
console.log(checkPal(str))
6. Is Anagram (M)
Given two strings (str1 and str2), determine if str1 is an anagram of str2. An Anagram is a word, phrase, or name formed by rearranging the letters of another, such as spar
, formed from rasp
.
spar
, formed from rasp
.// My Solution
function anagram(wordOne, wordTwo) {
// sort both the words and then compare
// can validate if both the params are string here before sorting
const sortedOne = wordOne.split("").sort().join("");
const sortedTwo = wordTwo.split("").sort().join("");
return sortedOne.toLowerCase() === sortedTwo.toLowerCase();
}
console.log(anagram("maAm", "amma")); // true
console.log(anagram("mamm", "amma")); // false
7. Reverse Words (E)
Given an input string (str), reverse the string word by word.
// My Solution
function wordReverse(str) {
// str -> Hello World
const wordArr = str.split(" "); // Hello World -> [Hello World]
let reverseWord = "";
console.log(wordArr.length)
for (let i = wordArr.length - 1; i >= 0; i--) {
reverseWord += wordArr[i] + " ";
}
return reverseWord;
}
console.log(wordReverse("Hello World"));
8. Unique element/s in the array (M)
Find first occurred unique element/s in array
// Print the first unique element of Array
const arr = [1, 1, 2, 5, 4, 3, 3, 2]; // 5 is the first unique element
for (let i = 0; i < arr.length; i++) {
let count = 0;
for (j = 0; j < arr.length; j++) {
if (arr[i] === arr[j]) {
count++;
}
if (count > 1) {
break
}
}
if (count == 1) {
console.log(`The first unique element is ${arr[i]}`)
return;
}
}
10. Remove Vowels from String (E)
Remove 'a','e','i','o',u'
// vowels - a, e, i, o, u
const str = "vishwas"
const consonents = str
.split("")
.filter(letter => !(letter === "a" || letter === "e" || letter === "i" || letter === "o" || letter === "u"))
.join("")
console.log(consonents)
11. Reverse Words (E)
// reverse words
function reverseWords(words) {
const wordsArray = words.split(" ").reverse().join(" ")
console.log(wordsArray)
}
reverseWords("Hello World") // World Hello
Last updated
Was this helpful?