From 36612f023afbb104eb6e221f67c7707ba4c3d4c1 Mon Sep 17 00:00:00 2001 From: Aung Myo Kyaw Date: Thu, 7 Sep 2017 08:53:02 +0630 Subject: [PATCH 1/2] feat(euler-problem): Add tests and solution for Problem 4: Largest palindrome product --- .../project-euler-problems.json | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json b/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json index 3ab559c776..2954411cac 100644 --- a/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json +++ b/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json @@ -94,17 +94,20 @@ "type": "bonfire", "title": "Problem 4: Largest palindrome product", "tests": [ - "assert.strictEqual(euler4(), 906609, 'message: euler4() should return 906609.');" + "assert.strictEqual(largestPalindromeProduct(2), 9009, 'message: largestPalindromeProduct(2) should return 9009.');", + "assert.strictEqual(largestPalindromeProduct(3), 906609, 'message: largestPalindromeProduct(3) should return 906609.');" + ], + "solutions": [ + "const largestPalindromeProduct = (digit)=>{\n let start = 1;\n let end = Number(`1e${digit}`) - 1;\n let palindrome = [];\n for(let i=start;i<=end;i++){\n for(let j=start;j<=end;j++){\n let product = i*j;\n let palindromeRegex = new RegExp('\\b(\\d)(\\d?)(\\d?).?\\3\\2\\1\\b','gi');\n palindromeRegex.test(product) && palindrome.push(product);\n }\n }\n return Math.max(...palindrome);\n}" ], - "solutions": [], "translations": {}, "challengeSeed": [ - "function euler4() {", + "function largestPalindromeProduct(digit) {", " // Good luck!", " return true;", "}", "", - "euler4();" + "largestPalindromeProduct(3);" ], "description": [ "A palindromic number reads the same both ways. The largest palindrome made from the product of two 2-digit numbers is 9009 = 91 × 99.", From 3b291b26efa8a1cd8f98615e1c7cace0c2e14442 Mon Sep 17 00:00:00 2001 From: Mrugesh Mohapatra Date: Fri, 12 Jan 2018 04:09:37 +0530 Subject: [PATCH 2/2] fix(euler): Fixed broken build --- .../project-euler-problems.json | 2 +- test-challenges.js | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json b/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json index 2954411cac..31070d932f 100644 --- a/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json +++ b/challenges/08-coding-interview-questions-and-take-home-assignments/project-euler-problems.json @@ -98,7 +98,7 @@ "assert.strictEqual(largestPalindromeProduct(3), 906609, 'message: largestPalindromeProduct(3) should return 906609.');" ], "solutions": [ - "const largestPalindromeProduct = (digit)=>{\n let start = 1;\n let end = Number(`1e${digit}`) - 1;\n let palindrome = [];\n for(let i=start;i<=end;i++){\n for(let j=start;j<=end;j++){\n let product = i*j;\n let palindromeRegex = new RegExp('\\b(\\d)(\\d?)(\\d?).?\\3\\2\\1\\b','gi');\n palindromeRegex.test(product) && palindrome.push(product);\n }\n }\n return Math.max(...palindrome);\n}" + "const largestPalindromeProduct = (digit)=>{\n let start = 1;\n let end = Number(`1e${digit}`) - 1;\n let palindrome = [];\n for(let i=start;i<=end;i++){\n for(let j=start;j<=end;j++){\n let product = i*j;\n let palindromeRegex = /\\b(\\d)(\\d?)(\\d?).?\\3\\2\\1\\b/gi;\n palindromeRegex.test(product) && palindrome.push(product);\n }\n }\n return Math.max(...palindrome);\n}" ], "translations": {}, "challengeSeed": [ diff --git a/test-challenges.js b/test-challenges.js index eb628a991e..b645f0a71c 100644 --- a/test-challenges.js +++ b/test-challenges.js @@ -215,10 +215,12 @@ Observable.from(getChallenges()) .toArray() .subscribe( (noSolutions) => { - console.log( - '# These challenges have no solutions\n- [ ] ' + - noSolutions.join('\n- [ ] ') - ); + if(noSolutions){ + console.log( + '# These challenges have no solutions\n- [ ] ' + + noSolutions.join('\n- [ ] ') + ); + } }, err => { throw err; }, () => process.exit(0)