카테고리 없음
[프로그래머스/javascript] 스킬트리 (더 간단한 방법으로 다시풀기)
_서리__
2023. 3. 3. 11:53
function solution(skill, skill_trees) {
//스택..?
//스택에 값을 넣음, 근데 선행된 값이 없으면 들어갈 수 없음!
let skillArr = skill.split('')
let prevedSkills = {}
let currentSkill = skillArr[0];
let skillcount = 0;
let current = '';
let perpect = true;
for(let i=1;i<skillArr.length;i++){
prevedSkills[skillArr[i]]=false;
}
prevedSkills[skillArr[0]]=true
let prevedSkill = {};
var answer = 0;
for(let i=0;i<skill_trees.length;i++){
perpect = true;
prevedSkill = Object.assign({},prevedSkills);
currentSkill = skillArr[0];
skillcount =0;
for(let j=0;j<skill_trees[i].length;j++){
current = skill_trees[i][j]
if((current===currentSkill)&&(prevedSkill[skillArr[skillcount+1]]===false)){
skillcount++;
currentSkill = skillArr[skillcount]
prevedSkill[currentSkill] = true;
continue;
}
if(prevedSkill[current]===true) continue
if(prevedSkill[current]===undefined) continue;
else if(prevedSkill[current]===false){
perpect = false;
break;
}
}
if(perpect) answer++
}
return answer;
}