스킬트리
문제 링크
문제 요약
제한사항
- 스킬은 알파벳 대문자로 표기하며, 모든 문자열은 알파벳 대문자로만 이루어져 있습니다.
- 스킬 순서와 스킬트리는 문자열로 표기합니다.
- 예를 들어, C → B → D 라면 CBD로 표기합니다
- 선행 스킬 순서 skill의 길이는 1 이상 26 이하이며, 스킬은 중복해 주어지지 않습니다.
- skill_trees는 길이 1 이상 20 이하인 배열입니다.
- skill_trees의 원소는 스킬을 나타내는 문자열입니다.
- skill_trees의 원소는 길이가 2 이상 26 이하인 문자열이며, 스킬이 중복해 주어지지 않습니다.
- 선행 스킬 순서 skill,
- 유저들이 만든 스킬트리를 담은 배열 skill_trees
output
해결방법
skill_trees
에서 skill
에 있는 skill들만 남겨둔다면
skill.join("") === skill_trees[n].join("")
이 기대된다
- 정제된 스킬트리를
skill
에서 조회했을 때 index 0에 나오는 경우가 아니면 배울 수 없다.
- 해당 경우로 filtering을 수행하면 배울 수 있는 스킬트리만 나옴.
function solution(skill, skill_trees) {
return skill_trees.filter((st) => {
const result = st
.split('')
.filter((s) => skill.includes(s))
.join('')
return skill.indexOf(result) === 0
}).length
}