κ΅μ‘κ³Όμ μ€κ³(μλ£κ΅¬μ‘°-ν)
λ¬Έμ (μΆμ² : μΈνλ° μλ°μ€ν¬λ¦½νΈ μκ³ λ¦¬μ¦ λ¬Έμ νμ΄ κ°μ, μ 보μ¬λ¦ΌνΌμλ)
νμλ 1λ
κ³Όμ μ μμ
κ³νμ μ§μΌ ν©λλ€.
μμ
μ€μλ νμκ³Όλͺ©μ΄ μμ΅λλ€. μ΄ νμκ³Όλͺ©μ λ°λμ μ΄μν΄μΌ νλ©°, κ·Έ μμλ μ ν΄μ Έ μ μ΅λλ€.
λ§μ½ μ΄ κ³Όλͺ©μ΄ A, B, C, D, E, F, Gκ° μκ³ , μ¬κΈ°μ νμκ³Όλͺ©μ΄ CBAλ‘ μ£Όμ΄μ§λ©΄ νμκ³Όλͺ©μ C, B, Aκ³Όλͺ©μ΄λ©° μ΄ μμλλ‘ κΌ μμ
κ³νμ μ§μΌ ν©λλ€.
μ¬κΈ°μ μμλ Bκ³Όλͺ©μ Cκ³Όλͺ©μ μ΄μν νμ λ€μ΄μΌ νκ³ , Aκ³Όλͺ©μ Cμ Bλ₯Ό μ΄μν νμ λ€ μ΄μΌ νλ€λ κ²μ
λλ€.
νμκ° C, B, D, A, G, Eλ‘ μμ
κ³νμ μ§λ©΄ μ λλ‘ λ μ€κ³μ΄μ§λ§
C, G, E, A, D, B μμλ‘ μ§°λ€λ©΄ μ λͺ» μ€κ³λ μμ
κ³νμ΄ λ©λλ€.
μμ
κ³νμ κ·Έ μμλλ‘ μμ μμ
μ΄ μ΄μλλ©΄ λ€μ μμ
μ μμνλ€λ κ²μΌλ‘ ν΄μν©λλ€. μμ
κ³νμμμ κ° κ³Όλͺ©μ 무쑰건 μ΄μλλ€κ³ κ°μ ν©λλ€.
νμκ³Όλͺ©μμκ° μ£Όμ΄μ§λ©΄ νμκ° μ§ Nκ°μ μμ
μ€κ³κ° μλ κ²μ΄λ©΄ “YES", μλͺ»λ κ²μ΄λ©΄ ”NO“λ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμΈμ.
β£ μ
λ ₯μ€λͺ
첫 μ€μ ν μ€μ νμκ³Όλͺ©μ μμκ° μ£Όμ΄μ§λλ€. λͺ¨λ κ³Όλͺ©μ μλ¬Έ λλ¬Έμμ
λλ€. λ λ² μ§Έ μ€λΆν° νμκ° μ§ μμ
μ€κ³κ° μ£Όμ΄μ§λλ€.(μμ
μ€κ³μ κΈΈμ΄λ 30μ΄νμ΄λ€)
β£ μΆλ ₯μ€λͺ
μμ
μ€κ³κ° μλ κ²μ΄λ©΄ “YES", μλͺ»λ κ²μ΄λ©΄ ”NO“λ₯Ό μΆλ ₯ν©λλ€.
β£ μ λ ₯μμ 1
CBA
CBDAGE
β£ μΆλ ₯μμ 1
YES
Tip

λ¬Έμ νμ΄
//λ΄κ° μμ±ν λ΅
function solution(essential,subjects){
let answer = 'YES';
let queue = [];
for(let x of essential){
queue.push(x);
}
for(let i = 0 ; i < subjects.length ; i++){
if(queue.includes(subjects[i])){
let temp = queue.shift();
if(temp !== subjects[i]) return 'NO';
}
}
if(queue.length !== 0) return 'NO';
return answer;
};
let essentialSubjects = 'CBA';
let subjects = 'BCDAGE';
console.log(solution(essentialSubjects,subjects));