ν°μ€ν 리 λ·°
λ¬Έμ
νμλ 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“λ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμΈμ.
λ¬Έμ νμ΄
- νμ μμ κ³νμ μμλλ‘ μ μ₯
- μμ κ³νμ΄ μ μ₯λ νλ₯Ό μννλ©΄μ νμκ³Όλͺ©μΌ μ frontμμ μμ νκ³ rearμ λ€μ μ μ₯
- νμκ³Όλͺ©μ΄ μλ κ²½μ°μλ κ·Έλλ‘ frontμμ μμ
- λ§μ§λ§μ λ¨μ 3κ°μ νμκ³Όλͺ©μ λ¬Έμμ΄λ‘ λ°ννμ¬ μ΄μ μμκ° λκ°μμ§ λΉκ΅
μ½λ
function solution(order, curr) {
let answer = "YES";
let queue = Array.from(curr); //μμ
κ³ν λ°°μ΄μ μ μ₯
for (let i = 0; i < queue.length; i++) {
if (order.includes(queue[i])) { //νμκ³Όλͺ©μΌ κ²½μ°
queue.push(queue.shift());
i--; //μμκ° μμΌλ‘ νλμ© λΉκ²¨μ§κΈ° λλ¬Έμ μΈλ±μ€ λν 1κ°μ°νμ¬ μ μμ μΌλ‘ κ·Έ λ€μ μΈλ±μ€ μμλ₯Ό μ°Έμ‘°μΌ ν¨
} else { //νμκ³Όλͺ©μ΄ μλ κ²½μ°
queue.shift();
i--;
}
if (queue.length === order.length) break; //νμ κ³Όλͺ©λ§ λ¨μμ κ²½μ°
}
if (queue.join("") !== order) answer = "NO";
return answer;
}
console.log(solution("CBA", "CBDAGE"));
function solution(need, plan){
let answer="YES";
let queue=need.split('');
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));
'μκ³ λ¦¬μ¦ > νκ·Έ λ³ νμ΄' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ²λΈ μ λ ¬ (0) | 2021.07.18 |
---|---|
μ ν μ λ ¬ (0) | 2021.07.17 |
[ν]곡주 ꡬνκΈ° (0) | 2021.07.15 |
νμμ μ°μ°(postfix) (0) | 2021.07.13 |
κ΄νΈλ¬Έμμ κ±° (0) | 2021.07.11 |