해시맵을 사용한 문제
처음에는 두 해시맵을 JSON.stringify 로 문자열로 만들어 같은지를 비교하려 하였으나, 객체의 순서가 다를 수 있으므로 그냥 적은 쪽의 문자를 객체에서 하나씩 빼어 해결하였다
체감 난이도 백준 5
https://leetcode.com/problems/ransom-note/
var canConstruct = function (ransomNote, magazine) {
const magoj = {};
for (let i = 0; i < magazine.length; i++) {
if (magoj[magazine[i]]) {
magoj[magazine[i]]++;
} else {
magoj[magazine[i]] = 1;
}
}
for (let i = 0; i < ransomNote.length; i++) {
if (magoj[ransomNote[i]]) {
magoj[ransomNote[i]]--;
if (magoj[ransomNote[i]] < 0) {
return false;
}
} else {
return false;
}
}
return true;
};
'개발 노트 > LeetCode 풀이' 카테고리의 다른 글
[JS] 9. Palindrome Number (0) | 2022.11.22 |
---|---|
[JS] 1. Two Sum (0) | 2022.11.22 |
[JS] 1342. Number of Steps to Reduce a Number to Zero (0) | 2022.11.18 |
[JS] 412. Fizz Buzz (0) | 2022.11.16 |
[JS] 1672. Richest Customer Wealth (0) | 2022.11.16 |
댓글