| @@ -0,0 +1,20 @@ | |||
| /** | |||
| * @param {string} ransomNote | |||
| * @param {string} magazine | |||
| * @return {boolean} | |||
| */ | |||
| var canConstruct = function(ransomNote, magazine) { | |||
| let mag = Array.from(magazine); | |||
| for (const i in ransomNote) { | |||
| let ind = mag.indexOf(ransomNote[i]); | |||
| if (ind > -1) { | |||
| mag.splice(ind, 1); | |||
| } else { | |||
| return false; | |||
| } | |||
| } | |||
| return true; | |||
| }; | |||
| console.log("Expected: true"); | |||
| console.log(`Got: ${canConstruct("aa", "aba")}`); | |||
| @@ -0,0 +1,11 @@ | |||
| Given an arbitrary ransom note string and another string containing letters from all the magazines, write a function that will return true if the ransom note can be constructed from the magazines ; otherwise, it will return false. | |||
| Each letter in the magazine string can only be used once in your ransom note. | |||
| Note: | |||
| You may assume that both strings contain only lowercase letters. | |||
| canConstruct("a", "b") -> false | |||
| canConstruct("aa", "ab") -> false | |||
| canConstruct("aa", "aab") -> true | |||
| @@ -0,0 +1,3 @@ | |||
| #!/bin/bash | |||
| node main.js | |||