383. Ransom Note

동청·2022년 8월 28일
0

leetcode

목록 보기
17/39

Problem

leetcode 바로가기

Given two strings ransomNote and magazine, return true if ransomNote can be constructed by using the letters from magazine and false otherwise.

Each letter in magazine can only be used once in ransomNote.

Example 1:

Input: ransomNote = "a", magazine = "b"
Output: false

Example 2:

Input: ransomNote = "aa", magazine = "ab"
Output: false

Example 3:

Input: ransomNote = "aa", magazine = "aab"
Output: true

Constraints:

  • 1 <= ransomNote.length, magazine.length <= 105
  • ransomNote and magazine consist of lowercase English letters.

Solution

/**
 * @param {string} ransomNote
 * @param {string} magazine
 * @return {boolean}
 */
var canConstruct = function(ransomNote, magazine) {
let ransom = Array.from(ransomNote);
  let maga = Array.from(magazine);
  let tf;

  for(let i = 0; i < ransom.length; i++) {
    tf = false;
    repeat(ransom[i]);
    
    if(!tf) {
      return false;
    }
  }

  return true;

  function repeat(ransom1) {
    for (let j = 0; j < magazine.length; j++) {
      if (ransom1 == maga[j]) {
        tf = true;
        maga.splice(j, 1)
        break;
      }
    }
  }
};

0개의 댓글