문제
필수과목은 반드시 이수해야 하며, 그 순서도 정해져 있다.
만약 총 과목이 A, B, C, D, E, F, G가 있고, 여기서 필수과목이 CBA로 주어지면 필수과목은 C, B, A과목이며 이 순서대로 꼭 수업계획을 짜야 한다.
필수과목순서가 주어지면 현수가 짠 N개의 수업설계가 잘된 것이면 “YES", 잘못된 것이면 ”NO“를 출력
풀이 과정 a
const solutionA = (compulsorySubjects, subjects) => {
let answer = '';
const compulsorySubjectsArray = compulsorySubjects.split('');
for (const subject of subjects) {
if (compulsorySubjectsArray.includes(subject)) answer += subject;
}
return compulsorySubjects === answer ? 'YES' : 'NO';
};
const testA = solutionA('CBA', 'CBDAGE');
console.log(testA);
풀이 과정 b
const solutionB = (compulsorySubjects, subjects) => {
const queue = compulsorySubjects.split('');
for (const subject of subjects) {
if (queue.includes(subject)) {
if (subject !== queue.shift()) return 'NO';
}
}
return queue.length > 0 ? 'NO' : 'YES';
};
const testB = solutionB('CBA', 'CBDAGE');
console.log(testB);
틀린 부분이 있거나 보충해야 할 내용이 있다면 댓글이나 DM(sungstonemin)으로 알려주시면 감사하겠습니다😄