An open API service indexing awesome lists of open source software.

https://github.com/ryantusi/javascript-algorithms-data-structures

This repository hosts five projects completed during the course, showcasing various algorithms and data structure implementations using JavaScript.
https://github.com/ryantusi/javascript-algorithms-data-structures

caesars-cipher cash-register data-structures-and-algorithms freecodecamp-project javascript palindrome roman-number-converter telephone-number-validator

Last synced: 17 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# 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](certificate_image.png)

This repository includes the certification obtained upon completion of the *freeCodeCamp* "JavaScript Algorithms and Data Structures" course.
Click to verify my certification: [freeCodeCamp](https://www.freecodecamp.org/certification/ryantusi/javascript-algorithms-and-data-structures)
Feel free to explore each project folder for detailed implementation and code. Happy coding! 🌟