Files
freeCodeCamp/curriculum/challenges/english/08-coding-interview-prep/project-euler/problem-79-passcode-derivation.english.md
Kristofer Koishigawa 6cfd0fc503 fix: improve Project Euler descriptions, challenge seeds, and test cases (#38016)
* 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
2020-02-28 06:39:47 -06:00

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