본문 바로가기
기초다지기/JS 코딩테스트

javascript 알파벳 배열을 사용해 만들수 있는 단어의 다른 배열 존재 여부 확인하기

by 김빵그 2023. 10. 27.

문제

주어진 알파벳 배열 "spell"을 사용하여 만들 수 있는 단어가 외계어 사전 "dic"에 존재하는지 여부를 확인하고 존재하면 1을, 존재하지 않으면 2를 반환

나의 풀이 

function solution(spell, dic) {
    var arr = dic.map(i => i.split("").sort().join(''));
    var word = spell.sort().join('')
    return arr.filter(i => i === word).length ? 1 : 2;
}
  • 외계어 사전 dic 배열의 각 요소를 오름차순 정렬
  • 알파벳 배열 spell 또한 오름차순으로 정렬해 합친다
  • 배열 필터링을 통해 만족하는 단어를 찾고 그 개수를 반환 그 갯수가 존재하면 1 아니면 2를 반환한다

다른 풀이

1) some

function solution(p, d) {
    return d.some(s => p.sort().toString() == [...s].sort().toString()) ? 1 : 2;
}
  • some : 배열 안의 어떤 요소라도 주어진 판별 함수를 적어도 하나라도 통과하는지 테스트 t/f 반환한다