FCC: Project Euler: Problem 4: Largest palindrome product

https://learn.freecodecamp.org/coding-interview-prep/project-euler/problem-4-largest-palindrome-product

A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.
Find the largest palindrome made from the product of two n-digit numbers.

My solution:
function largestPalindromeProduct(n) {
let largestPalindrome = 0; //tracker

//get starting and ending numbers of n-digit numbers
let lowest = "1";
while (n > 1) {
lowest += "0";
n--;
}
let largest = parseInt(lowest + "0") - 1;
lowest = parseInt(lowest);

//start with largest number since likely to get to largest palindrome first
for (let i = largest; i >= lowest; i--) {
for (let j = largest - 1; j >= lowest; j--) {
let number = i * j;
//check if number is greater before checking if palindrome for efficiency
if (number > largestPalindrome) {
//check if number is also a palindrome
if (number == number.toString().split("").reverse().join("") ) {
largestPalindrome = number;
}
}
//no need to go further down the loop as they'll be less than largestPalindrome
else if (number <= largestPalindrome) break;
}
}
return largestPalindrome;
}

largestPalindromeProduct(3);

Comments

Popular posts from this blog

Code Wars: Data Reverse (6 kyu)

Code Wars: longest_palindrome (6 kyu)

Code Wars: Find the odd int