개발후라이
개발후라이
개발후라이
  • 분류 전체보기 (287)
    • Web Front End (76)
      • Javascript & Typescript (26)
      • React (12)
      • Vue (4)
      • Nodejs (1)
      • HTML (6)
      • CSS (8)
      • HTTP (6)
      • 책 - Review (8)
    • TIL (0)
    • Problem Solved (135)
      • 알고리즘 (4)
      • BOJ (67)
      • Programmers (8)
      • HackerRank (33)
      • LeetCode (23)
    • 회고 (4)
      • 오늘의 회고 (16)
      • 주간 회고 (15)
      • 월간 회고 (7)
      • WakaTime (9)
    • Git (3)
    • 기타 (15)
      • 취업 (5)
      • 자격증 (1)

블로그 메뉴

  • GitHub
  • LinkedIn
  • 홈

인기 글

태그

  • 프론트엔드
  • TypeScript
  • JavaScript
  • 회고
  • 자바스크립트
  • 릿코드
  • 개발자
  • 오늘의회고
  • 노마드북클럽
  • 노개북

최근 댓글

최근 글

전체 방문자
오늘
어제

티스토리

hELLO · Designed By 정상우.
개발후라이

개발후라이

Problem Solved/HackerRank

[HackerRank][Javascript] Hash Tables: Ransom Note

2020. 7. 27. 12:05
반응형

문제

  • Hash Tables: Ransom Note

문제 설명

magazine에 note의 모든 단어가 포함되어 있는지 확인하는 문제

  • Map과 every를 사용해 풀 수 있었다.

Map에는 magazine을 반복문을 돌면서 단어의 개수를 저장한다.
그리고 note를 every 반복문을 돌면서 Map의 value가 undefined 또는 0이 아닐 경우에 false를 반환하게 만든다.
이 문제에서는 1개만 false여도 false이기 때문에 every를 사용하면 추가적인 변수를 사용하지 않고 풀 수 있다.

성공 코드

function checkMagazine(magazine, note) {
  let mapOfMagazine = new Map();

  magazine.forEach((value) => {
    if (!mapOfMagazine.has(value)) mapOfMagazine.set(value, 1);
    else mapOfMagazine.set(value, mapOfMagazine.get(value) + 1);
  });

  return note.every((value) => {
    if (!mapOfMagazine.get(value)) return false;

    mapOfMagazine.set(value, mapOfMagazine.get(value) - 1);
    return true;
  })
    ? "Yes"
    : "No";
}
 
반응형
저작자표시 (새창열림)
    'Problem Solved/HackerRank' 카테고리의 다른 글
    • [HackerRank][Javascript] Sherlock and Anagrams
    • [HackerRank][Javascript] Two Strings
    • [HackerRank][Javascript] Array - Minimum Swaps 2
    • [HackerRank][Javascript] Array - New Year Chaos
    개발후라이
    개발후라이
    어제보다 오늘 발전하기 위한 공간 https://github.com/choisohyun

    티스토리툴바