JavaScript/JS_Algorithm

[인프런 - JS 알고리즘 문제풀이] Queue 판단2

느리지만 꾸준하게 2021. 8. 6. 18:41

수업계획을 짜보자. split을 한 번 해주고 queue에서 x가 포함되어 있다치자.

그러면 만약에 queue에서 shift 한게 뺀게 x(plan중에 한개)와 같지 않으면 NO를 리턴하고

 

만약에 plan과 queue를 비교가 다 끝나고도 queue의 길이가 0보다 크다면 요소가 남아있다는 것이기 때문에,

"NO"를 리턴한다. 아래 코드를 보자.

<body>
    <script>
        function solution(need, plan) {
            let answer = "YES"
            let queue = need.split('');
            console.log(queue);
            for (let x of plan) {
                if (queue.includes(x)) {
                    if (x !== queue.shift()) return "NO";
                }
            }
            if (queue.length > 0) return "NO";
            return answer;
        }
        let a = "CBA";
        let b = "CBDAGE";
        console.log(solution(a, b));
    </script>
</body>

 

 

<출처 : 자바스크립트 알고리즘 문제풀이(코딩테스트 대비): 김태원>

참고:

https://www.inflearn.com/course/%EC%9E%90%EB%B0%94%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4/dashboard

 

자바스크립트 알고리즘 문제풀이(코딩테스트 대비) - 인프런 | 강의

자바스크립트(JavaScript)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 재미있게 풀 수 있는 기초 단계 문제부터 고급 알고리즘까지 단계별로 차근차근 배우도록 설계된 강좌입니다., 개발

www.inflearn.com