스킬 트리

2023. 9. 27. 09:42· algorithm

https://school.programmers.co.kr/learn/courses/30/lessons/49993

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

function solution(skill, skill_trees) {
    var answer = 0;
    
    skill_trees.forEach((skilltree)=>{
        let possible = true;
        let queue = [...skill]
        for(let x of skilltree){
            if(skill.includes(x) && x === queue[0]) queue.shift()
            else if(skill.includes(x) && x !== queue[0]) {
                console.log(skilltree, x, queue[0])
                possible = false;
                break;
            }
        }
        if(possible) {
            answer++
        }
    })
    
    return answer;
}

 

입출력 예

skill skill_trees return
"CBD" ["BACDE", "CBADF", "AECB", "BDA"] 2

 

위의 입출력 예로 설명하고자 한다

 

queue에 skill (CBD)을 담은 후, skill이 skill_trees의 x (B)를 포함하고 순서가 일치하면
queue에 담긴 첫번째 요소 (C)를 제거하고, 다음 요소 (B)랑 비교하게끔 queue.shift()를 사용했다
skill이 x를 포함하지만, 순서가 일치하지 않는 경우 (BACDE,BDA)는 불가능한 스킬트리이므로
true가 할당돼있는 변수 possible을 false로 바꿔준다
나머지 x는 비교할 필요가 없으므로 break
즉, 배열 skill_trees 각각의 요소를 순회한후 possible이 true이면 answer를 1 증가한다.

저작자표시 (새창열림)

'algorithm' 카테고리의 다른 글

약수의 개수와 덧셈 (feat. 제곱수 활용)  (0) 2023.12.19
튜플  (0) 2023.09.27
구명보트  (0) 2023.09.25
문자열 내 마음대로 정렬하기 (feat. JS sort 함수)  (0) 2023.09.05
JadenCase 문자열 만들기  (0) 2023.08.28
'algorithm' 카테고리의 다른 글
  • 약수의 개수와 덧셈 (feat. 제곱수 활용)
  • 튜플
  • 구명보트
  • 문자열 내 마음대로 정렬하기 (feat. JS sort 함수)
nana-log
nana-log
포스팅이 좋았다면 "❤️공감" 눌러주세요!
nana-log
nana-log
nana-log
전체
오늘
어제
  • 분류 전체보기 (104)
    • TIL (26)
    • project (7)
    • algorithm (18)
    • information processing (30)
    • etc (19)

인기 글

태그

  • docker
  • 자바스크립트
  • 알고리즘
  • 원티드프리온보딩
  • 회고
  • JS
  • dev-tools

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
nana-log
스킬 트리
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.