cheetsheet

[Cheat Sheet] 특정 문자열을 모두 가진 배열 요소를 찾는 코드

냠냠맨 2022. 11. 30. 22:07

 

var findWords = function(words) {
    let row1 = ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'];
    let row2 = ['a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l'];
    let row3 = ['z', 'x', 'c', 'v', 'b', 'n', 'm'];
    let answer = [];
    
    words.forEach(x => {
        let spliter = x.toLowerCase().split('');
        
        if(spliter.every(j => row1.includes(j))) answer.push(x)
        if(spliter.every(j => row2.includes(j))) answer.push(x)
        if(spliter.every(j => row3.includes(j))) answer.push(x)
    })
    
    return answer;
};

 

every()와 includes()를 이용해 구현할 수 있습니다.

if 일때 어떻게 동작할지만 고쳐주면 됩니다.

words 인자는 배열로 받는다는 가정입니다.

 

function solution(spell, dic) {
    let answer = []
    dic.forEach(ele => {
        let spliter = [...new Set(ele)]
        if(spell.every(j => spliter.includes(j))) answer.push(ele)
    })
    return !answer.length ? 2 : 1
}​

 

중복요소를 제외하고 비교하기 위한 코드입니다.

set을 이용해 중복을 제거하고 비교합니다.

spell, dic 모두 문자열로 이루어진 배열 인자를 받습니다.

반응형