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.
- Host: GitHub
- URL: https://github.com/ryantusi/javascript-algorithms-data-structures
- Owner: ryantusi
- Created: 2023-11-16T15:49:45.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-24T15:27:57.000Z (over 1 year ago)
- Last Synced: 2025-04-12T23:12:14.602Z (17 days ago)
- Topics: caesars-cipher, cash-register, data-structures-and-algorithms, freecodecamp-project, javascript, palindrome, roman-number-converter, telephone-number-validator
- Language: JavaScript
- Homepage: https://www.freecodecamp.org/certification/ryantusi/javascript-algorithms-and-data-structures
- Size: 70.3 KB
- Stars: 4
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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
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! 🌟