[프로그래머스] 스킬트리 - JavaScript

이은빈 EUNBIN·2021년 4월 14일
2
post-thumbnail

📌 풀이

https://programmers.co.kr/learn/courses/30/lessons/49993



📌 문제

function solution(skill, skill_trees) {
    let result = 0;

    //skill의 요소들이 있는지 확인
    let filteredTrees = skill_trees.map(tree => {
        return tree.split("").filter(ele => skill.includes(ele))
    });
    
    //가능한 스킬트리인지 확인
    for(let i = 0; i < filteredTrees.length; i++) {
        let isValid = true;
        for(let j = 0; j < filteredTrees[i].length; j++) {
          if(skill[j] !== filteredTrees[i][j]) {
            isValid = false;
            break;
          }
        }
        if(isValid) result++;
    }
    
    return result;
}

boolean 값으로 가능 여부 확인하기 !

//다른 사람 풀이
function solution(skill, skill_trees) {
    var answer = 0;
    var regex = new RegExp(`[^${skill}]`, 'g');

    return skill_trees
        .map((x) => x.replace(regex, ''))
        .filter((x) => {
            return skill.indexOf(x) === 0 || x === "";
        })
        .length
}
profile
Frontend Engineer & Value Creator

0개의 댓글