Algorithm/programmers

스킬트리 ( Level 2, JavaScript, Summer/Winter Coding )

takeU 2021. 8. 1. 14:27
반응형

스킬트리 ( Level 2 )

Summer/Winter Coding ~2018 ( JavaScript )

문제 링크

 

나의 풀이

function solution(skill, skill_trees) {
    let count = 0;
    const arr = skill_trees.map(
        s => s.split('').map(
            e => skill.includes(e) ? e : '').join('')
    )

    for ( let i = 0; i < arr.length; i++ ) {
        if ( arr[i] === '' ) count++
        let temp = -1;
        for ( let j = 0; j < arr[i].length; j++ ) {
            if ( skill.indexOf(arr[i][j]) !== temp + 1 ) {
                break;
            } else {
                temp = skill.indexOf(arr[i][j])
                if ( j === arr[i].length - 1) count++
            }
        }
    }
    return count;
}
  1. skill_trees에서 skill에 있는 단어만 남기고 삭제
  2. arr을 반복문을 돌며 빈 문자열일 경우나 순서대로 스킬이 들어갈 경우 count++

더 효율적인 코드가 나올 수 있을 것 같은데, 쉽게 떠오르지가 않았음.