スキルツリー
5920 ワード
スキルツリー
https://programmers.co.kr/learn/courses/30/lessons/49993
問題を解く
function solution(skill, skill_trees) {
const skillSet = new Map()
let answer = 0;
for(let i=0;i<skill.length;i++){
skillSet.set(skill[i],i+1)
}
skill_trees.forEach(tree => {
if(checkTree(skillSet,tree)){
answer++
}
})
return answer;
}
function checkTree(map,tree){
let first = 0
for(let i=0;i<tree.length;i++){
if(map.get(tree[i])){
if(map.get(tree[i])>first+1 || first>map.get(tree[i])){
return false
}else{
first = map.get(tree[i])
}
}
}
return true
}
スキル名と順序は,Mapを用いてキー,値として格納し,スキルツリーとMap順序を比較した.スキルツリーの順序をスキップし、スキルを学習したり、前のスキルより速いスキルを学習したりした場合、falseを返します.Reference
この問題について(スキルツリー), 我々は、より多くの情報をここで見つけました https://velog.io/@tlatmdxo123/스킬트리テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol