πŸ“μ•„λ‚˜κ·Έλž¨(Anagrams) μ΄λž€?

10_2pangΒ·2023λ…„ 6μ›” 5일
0

βš½οΈνŠΈλŸ¬λΈ”μŠˆνŒ…

λͺ©λ‘ 보기
55/94
post-thumbnail

πŸ‘¨β€πŸ’»Β μ‚¬κ±΄


μ½”λ”©ν…ŒμŠ€νŠΈ 문제 문항쀑 μ•„λ‚˜κ·Έλž¨μ„ ν†΅ν•˜μ—¬ ν•΄κ²°ν•˜λŠ” λ¬Έμ œκ°€ μžˆμ–΄, μ•„λ‚˜κ·Έλž¨μ— λŒ€ν•΄ μ•Œμ•„λ³΄κ³  ν•΄λ‹Ή 문제λ₯Ό ν•΄κ²°ν•΄λ³΄μ•˜μŠ΅λ‹ˆλ‹€.

βœ…Β ν•΄κ²°


μ•„λ‚˜κ·Έλž¨μ€ λΉ„κ΅ν•˜λŠ” 두 λ¬Έμžμ—΄μ˜ μ•ŒνŒŒλ²³ λ‚˜μ—΄μˆœμ„œλŠ” λ‹€λ₯΄λ‚˜, κ΅¬μ„±ν•˜λŠ” μ•ŒνŒŒλ²³κ³Ό ν•΄λ‹Ή μ•ŒνŒŒλ²³μ˜ κ°œμˆ˜κΉŒμ§€ λ™μΌν• λ•Œ, λ‘λ‹¨μ–΄λŠ” μ•„λ‚˜κ·Έλž¨μ΄λΌκ³  ν•©λ‹ˆλ‹€.

각 ν•΄λ‹Ή μ•ŒνŒŒλ²³μ„ 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"));
profile
μ£Όλ‹ˆμ–΄ ν”„λ‘ νŠΈμ—”λ“œ 개발자 이광렬 μž…λ‹ˆλ‹€ 🌸

0개의 λŒ“κΈ€