제한사항 - 이전 스킬을 스킵하고 다음 스킬을 배울 수 없다.
예를들어 skill "CBD"가 주어졌을 때, C를 배우지 않으면 B, D는 가능하지 않다.
BD, B, D => 안되는 경우
CD => 얘도 안됨...왜? B를 배우지 않고 D를 배울 순 없다.
CB => 가능한 경우
skill_trees에서 skill에 주어진 알파벳을 제외한 나머지 부분을 어떻게 삭제 할 것인가...?
=> filter와 includes로 새로운 배열을 만들어 해결, 마지막에 join 메써드로 배열을 문자열로...!
=> 나머지 부분을 왜 삭제해야하나...? 순서를 비교하기 위해서 !
skill을 substring 메써드로 앞에서부터 잘라서 새로만든 문자열과 비교...!
function solution(skill, skill_trees) {
const toArr = skill.split('')
let result = 0
let toStr = ''
for (let i = 0; i < skill_trees.length; i++) {
toStr = skill_trees[i].split('').filter(value => toArr.includes(value)).join('')
if (toStr === skill.substring(0, toStr.length)) {
result++
}
}
return result
}