Skip to content

This repository hosts five projects completed during the course, showcasing various algorithms and data structure implementations using JavaScript.

Notifications You must be signed in to change notification settings

ryantusi/Javascript-Algorithms-Data-Structures

Repository files navigation

Data Structures and Algorithms using JavaScript

Welcome to my repository for the "JavaScript Algorithms and Data Structures" course by freeCodeCamp! 🚀 This repository hosts five projects completed during the course, showcasing various algorithms and data structure implementations using JavaScript.

Projects Included

1. Palindrome Checker

  • Description: This project includes a function that checks whether a given string is a palindrome, meaning it reads the same backward as forward. It removes non-alphanumeric characters and disregards case sensitivity to determine if the input string is a palindrome.
  • Implementation: JavaScript function isPalindrome() checks the provided string for palindrome properties.
  • Usage: To test if a string is a palindrome, simply call isPalindrome() and pass the string as an argument.

2. Roman Numeral Converter

  • Description: An implementation that converts decimal numbers into their equivalent Roman numeral representation. It handles numbers within a specific range and produces the corresponding Roman numeral string.
  • Implementation: JavaScript function convertToRoman() performs the conversion from decimal to Roman numerals.
  • Usage: Call convertToRoman() with a numeric value to obtain its Roman numeral equivalent.

3. Caesar's Cipher

  • Description: This project demonstrates a simple decryption program only based on the Caesar cipher, a type of substitution cipher. It shifts characters by a fixed number to decode messages. The code SERR CVMMN! has a decryption key of 13.
  • Implementation: JavaScript functions rot13() which takes in a string, has decryption functionalities respectively.
  • Usage: Use rot13() to decode it.

4. Telephone Number Validator

  • Description: A utility to validate if a given string follows the North American telephone number pattern. It checks for the correct format and structure of a phone number using rejex.
  • Implementation: JavaScript function telephoneCheck() validates the input string against the specified telephone number pattern.
  • Usage: Pass a string to telephoneCheck() to verify if it matches the North American phone number format.

5. Cash Register

  • Description: This project implements a cash register that calculates the change to be given using the least amount of currency. It computes the optimal change based on the price and the amount paid.
  • Implementation: JavaScript function checkCashRegister() calculates the change to be dispensed.
  • Usage: Provide the purchase price, payment amount, and cash in the drawer to checkCashRegister() to get the optimal change breakdown.

Each project folder contains the JavaScript file(s) for the implementation along with

Key Features

  • FreeCodeCamp Certification: Included certification image to showcase completion of the course.
  • Project Screenshots: Screenshots of each project for a visual overview.
  • JavaScript Implementation: All projects are coded in JavaScript, demonstrating algorithmic understanding.

Certification

Certificate

This repository includes the certification obtained upon completion of the freeCodeCamp "JavaScript Algorithms and Data Structures" course. Click to verify my certification: freeCodeCamp Feel free to explore each project folder for detailed implementation and code. Happy coding! 🌟