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

// My Solution

function printPrime (min, max) {

   const primeNums = []
	
	// starts from min and checks until max
	for(let num = min; num<=max; num++){
	
	  let isPrime = true
	  
	  // check is used to divide num
	  for(let check = 2; check <= num/2; check++){
	    
		   if(num%check === 0){
			   isPrime = false
			}

	  }
	  
	  if(isPrime && num !==0 && num !==1 ){
	    primeNums.push(num);
	  }
	  
	
	}
	
	return primeNums

}


console.log(printPrime(0,2))

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.

// 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