Posts

Showing posts from August, 2020

Dutch national flag problem in Javascript

Image
Dutch national flag problem and solution in Javascript Problem statement:   The Dutch national flag (DNF) problem is one of the most popular programming problems proposed by Edsger Dijkstra. The flag of the Netherlands consists of three colors: white, red, and blue. The task is to randomly arrange balls of white, red, and blue such that balls of the same color are placed together. Now, let's consider an array with 3 distinct values say 0, 1 and 2. We won't be using any sort method and we need to sort this array in 0(n). Input Array :  let   arr  = [ 0 ,  2 ,  1 ,  0 ,  1 ,  2 ,  0 ,  2 ]; Expected Output: [ 0, 0, 0, 1, 1, 2, 2, 2 ] Solution Approach : When we see expected output, we can clearly see that sorted array is divided into 3 sections having values 0 , 1 and 2. So, let's divide the array in 3 sections: a) from 0th index to left boundary b) from left boundary to right boundary c) from right boundary to last index. Now we will create 2 pointers : left (starting from 0

Javascript Codewars Problem: "Simple Pig Latin"

Codewars   Problem and solution with approach explained       Objective:   In this challenge, we will solve the “ Simple Pig Latin ”  Codewars   puzzle using  javascript .   Problem statement:   Move the first letter of each word to the end of it, then add " ay " to the end of the word. Leave punctuation marks untouched.   Examples:   Input : pigIt(' Pig latin is cool ');  Output : igPay atinlay siay oolcay Input : pigIt(' Hello world ! ');   Output :  elloHay orldway ! Input  : pigIt(' Pig latin is cool ! ');  Output  :  igPay atinlay siay oolcay ! Solution Approach:   Step 1 : capture each word of the string. Also check if there are no special characters. In case of special character that needs to be returned without any changes.   Step 2 (a) : if no special character, then for each word, get the first letter and remove it from the word and add it behind the word with the string " ay ".   Step 2 (b) : repeat step 2 for each word and then

Developing Amazon price checker in Javascript

Image
  Amazon price checker in Javascript using Nightmare Disclaimer: This post is for educational purposes only. We do not encourage or promote any sort of web scraping. Objective: Have you ever thought of checking the price of your favorite product on any e-commerce site using your code. In this post we are going to achieve that. We will check the price of our selected product on amazon with the  help of Nightmare module. Refer the link for more details on Nightmare module :  https://www.npmjs.com/package/nightmare Solution Design:  let's proceed with our very first step, i.e to shortlist the product and get the Amazon URL. For this project we have selected the " OnePlus  8 " with the URL : https://www.amazon.in/Test-Exclusive-547/dp/B078BNQ318/  Step 2 : We will get the element for the price of the product from the amazon URL. For this open the developer tools in the browser and inspect the price element. For reference, check the below screenshot. Step 3 : We have selected

Javascript Problem: Find the next perfect square!!

Codewars   Problem and solution with approach explained       Objective:   In this challenge, we will solve the “Find the next perfect square!”  Codewars   puzzle using  javascript .   Problem statement:   You might know some pretty large perfect squares. But what about the NEXT one?   Complete the  findNextSquare   method that finds the next integral perfect square after the one passed as a parameter. Recall that an integral perfect square is an integer n such that sqrt(n) is also an integer.   If the parameter is itself not a perfect square then -1  should be returned. You may assume the parameter is positive.   Examples:   findNextSquare (121) --> returns 144    findNextSquare (625) --> returns 676    findNextSquare (114) --> returns -1 since 114 is not a perfect   Solution Approach:   Step 1: check if the perfect square root of the given number say “n” is available.   Step 2: if yes, then simply get the square of the “n+1” number.   Step 3: if no, return false.   Keeping t