μ½λ©ν μ€νΈ λ¬Έμ λ¬Ένμ€ μλκ·Έλ¨μ ν΅νμ¬ ν΄κ²°νλ λ¬Έμ κ° μμ΄, μλκ·Έλ¨μ λν΄ μμλ³΄κ³ ν΄λΉ λ¬Έμ λ₯Ό ν΄κ²°ν΄λ³΄μμ΅λλ€.
μλκ·Έλ¨μ λΉκ΅νλ λ λ¬Έμμ΄μ μνλ²³ λμ΄μμλ λ€λ₯΄λ, ꡬμ±νλ μνλ²³κ³Ό ν΄λΉ μνλ²³μ κ°μκΉμ§ λμΌν λ, λλ¨μ΄λ μλκ·Έλ¨μ΄λΌκ³ ν©λλ€.
κ° ν΄λΉ μνλ²³μ key κ°μΌλ‘ μ‘κ³ , ν΄λΉ μνλ²³μ κ°―μλ₯Ό value μ λμ΄ Map κ°μ²΄λ₯Ό μμ±νκ³ κ·Έμ λν΄ λΉκ΅λ₯Ό νλ©΄μ λ¬Έμ λ₯Ό ν΄κ²°ν΄ λκ°μ΅λλ€
CodingTest-Practice/lec/timeComplexity at main Β· yedol1/CodingTest-Practice
// μλκ·Έλ¨ (ν΄μ¬λ§΅)
function solution(arr1, arr2) {
let arr1Hash = makeMap(arr1);
for (let value of arr2) {
if (!arr1Hash.has(value) || arr1Hash.get(value) === 0) {
return "NO";
}
arr1Hash.set(value, arr1Hash.get(value) - 1);
}
return "YES";
}
function makeMap(arr) {
let arrHash = new Map();
for (let value of arr) {
if (!arrHash.has(value)) {
arrHash.set(value, 1);
} else {
arrHash.set(value, arrHash.get(value) + 1);
}
}
return arrHash;
}
console.log(solution("AbaAeCe", "baeeACA"));
console.log(solution("abaCC", "Caaab"));