[Programmers] 스킬트리 - JavaScript

Joosi_Cool·2023년 3월 8일
1

Programmers

목록 보기
35/98
post-thumbnail
post-custom-banner

문제설명



설계 과정

우선 배울 수 있는 스킬트리 순서를 모드 담는 배열 만듬 -> chanceSkill = [ ]

  • skill_trees를 하나씩 보면서 아래 과정 체크
  1. 체크할 스킬트리에 skill에 없는 것을 지우고 새로 만듬.
  2. 이때 그 값이 chanceSkill에 그 값이 있거나 아예 값이 없다면 answer++


풀이 코드

function solution(skill, skill_trees) {
    var answer = 0;
    //스킬트리 찍을 수 있는 순서 경우 구하기 => C CB CBD
    var chanceSkill = [];
    for(var i = 1;i<=skill.length+1;i++){
        chanceSkill.push(skill.substr(0,i));
    }    
    //스킬 쪼개기
    skill = skill.split("");
    var checkSkill;
    for(var i = 0; i<skill_trees.length;i++){
        //BACDE => B, A, C, D, E 
        // Skill에 있는 것만 남겨둠. B C D
        //B C D => BCD
        checkSkill = skill_trees[i].split("").filter((element)=> skill.indexOf(element)!==-1).join("");
        if(chanceSkill.indexOf(checkSkill)!==-1||checkSkill.length===0) answer++;
    }
    return answer;
}


결과

이번 문제는 쉽게 풀어냈으나, 계속 틀렸다... 그래서 1시간 동안 고민을 해본결과, 스킬 트리가 필요 없는 스킬로만 있을때를 고려를 안했다. 이렇듯, 더 집중도 있는 설계가 필요하다고 느껴진 문제였다.



profile
집돌이 FE개발자의 노트
post-custom-banner

1개의 댓글

comment-user-thumbnail
2023년 3월 10일

좋은 풀이법 꾸준히 올려주셔서 잘 참고하고있습니다ㅎㅎ 감사합니다 😁

답글 달기