수업계획을 짜보자. 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>
<출처 : 자바스크립트 알고리즘 문제풀이(코딩테스트 대비): 김태원>
참고:
자바스크립트 알고리즘 문제풀이(코딩테스트 대비) - 인프런 | 강의
자바스크립트(JavaScript)로 코딩테스트를 준비하시는 분을 위한 강좌입니다. 재미있게 풀 수 있는 기초 단계 문제부터 고급 알고리즘까지 단계별로 차근차근 배우도록 설계된 강좌입니다., 개발
www.inflearn.com
'JavaScript > JS_Algorithm' 카테고리의 다른 글
[인프런 - JS 알고리즘 문제풀이] basic question2 (0) | 2021.08.08 |
---|---|
[인프런 - JS 알고리즘 문제풀이] basic question (0) | 2021.08.08 |
[인프런 - JS 알고리즘 문제풀이] Queue 판단1 (0) | 2021.08.06 |
[인프런 - JS 알고리즘 문제풀이] stack판단5 (0) | 2021.08.06 |
[인프런 - JS 알고리즘 문제풀이] stack판단4 (0) | 2021.08.05 |