๊ด€๋ฆฌ ๋ฉ”๋‰ด

Daehyunii's Dev-blog

๊ด„ํ˜ธ ๋ฌธ์ž ์ œ๊ฑฐ(์ž๋ฃŒ๊ตฌ์กฐ-์Šคํƒ) ๋ณธ๋ฌธ

๐Ÿ“š Language & CS knowledge/Algorithm (๊ธฐ์ดˆ๋ฌธ์ œํ’€์ด)

๊ด„ํ˜ธ ๋ฌธ์ž ์ œ๊ฑฐ(์ž๋ฃŒ๊ตฌ์กฐ-์Šคํƒ)

Daehyunii 2022. 9. 2. 17:49

๋ฌธ์ œ(์ถœ์ฒ˜ : ์ธํ”„๋Ÿฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด ๊ฐ•์˜, ์ •๋ณด์˜ฌ๋ฆผํ”ผ์•„๋“œ)

 

์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด์—์„œ ์†Œ๊ด„ํ˜ธ ( ) ์‚ฌ์ด์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋‚จ์€ ๋ฌธ์ž๋งŒ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์ฒซ ์ค„์— ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 100์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
๋‚จ์€ ๋ฌธ์ž๋งŒ ์ถœ๋ ฅํ•œ๋‹ค.

 

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ 1

(A(BC)D)EF(G(H)(IJ)K)LM(N)

 

โ–ฃ ์ถœ๋ ฅ์˜ˆ์ œ 1

EFLM

 

Tip

 

 

๋ฌธ์ œํ’€์ด

//๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ๋‹ต
function solution(string){
    let answer;
    let stack = [];

    for(let x of string){
        if(x !== ')'){
            stack.push(x);

        }else{
            while(stack.pop() !== '(');  //  <<< ์‰ผํ‘œ ํ•„์š”!
            //stack์— popํ•œ๊ฒŒ '('๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ์ฐธ์ด๋˜๋‹ˆ๊นŒ
            // '('๊ฐ€ ๋‚˜์˜ฌ๋•Œ๊นŒ์ง€ ๊ณ„์† popํ•˜๊ณ  ๋น„๊ตํ•จ
        }
    }
    answer = stack.join('')
    return answer;
}
let string2 = '(A(BC)D)EF(G(H)(IJ)K)LM(N)aa';
console.log(solution(string2));