외계어 사전, Javascript

cptkuk91·2023년 2월 4일
1

Algorithm

목록 보기
127/161

문제

https://school.programmers.co.kr/learn/courses/30/lessons/120869?language=javascript

코드

function solution(spell, dic) {
  let spellSort = spell.sort().join("");
  let tmp = dic.map(word => word.split("").sort().join(""));
    
  for (let i = 0; i < tmp.length; i++) {
    if (spellSort === tmp[i]) {
      return 1;
    }
  }
  return 2;
}

풀이

우선 spell을 통해서 dic안에 있는 단어를 만들 수 있냐 없냐가 중요하고, 모든 단어를 사용해야 한다고 말했다.
따라서 spell을 우선 sort() 후 join("")을 통해서 정렬해줬다.
이후 dic안에 있는 모든 단어를 똑같이 split("").sort().join("")을 통해서 정렬해줬다.
dic에 있는 정렬된 단어를 tmp에 넣어준 후, spellSort와 임시로 저장한 tmp[i]와 비교해 같은 단어가 있다면 return 1, 없다면 return 2를 반환하게 코드를 작성했다.

profile
메일은 매일 확인하고 있습니다. 궁금하신 부분이나 틀린 부분에 대한 지적사항이 있으시다면 언제든 편하게 연락 부탁드려요 :)

0개의 댓글