* fix: improve Project Euler descriptions and test case Improve formatting of Project Euler test descriptions. Also add poker hands array and new test case for problem 54 * feat: add typeof tests and gave functions proper names for first 100 challenges * fix: continue fixing test descriptions and adding "before test" sections * fix: address review comments * fix: adjust grids in 18 and 67 and fix some text that reference files rather than the given arrays * fix: implement bug fixes and improvements from review * fix: remove console.log statements from seed and solution
1.5 KiB
1.5 KiB
id, challengeType, title, forumTopicId
id | challengeType | title | forumTopicId |
---|---|---|---|
5900f3bb1000cf542c50fece | 5 | Problem 79: Passcode derivation | 302192 |
Description
A common security method used for online banking is to ask the user for three random characters from a passcode. For example, if the passcode was 531278, they may ask for the 2nd, 3rd, and 5th characters; the expected reply would be: 317.
The array, keylog
, contains fifty successful login attempts.
Given that the three characters are always asked for in order, analyze the array so as to determine the shortest possible secret passcode of unknown length.
Instructions
Tests
tests:
- text: <code>passcodeDerivation(keylog)</code> should return a number.
testString: assert(typeof passcodeDerivation(keylog) === 'number');
- text: <code>passcodeDerivation(keylog)</code> should return 73162890.
testString: assert.strictEqual(passcodeDerivation(keylog), 73162890);
Challenge Seed
function passcodeDerivation(arr) {
// Good luck!
return true;
}
// Only change code above this line
const keylog = [
319,680,180,690,129,620,762,689,762,318,368,710,720,710,629,168,160,689,716,731,736,729,316,729,729,710,769,290,719,680,318,389,162,289,162,718,729,319,790,680,890,362,319,760,316,729,380,319,728,716,
];
passcodeDerivation(keylog);
Solution
// solution required