ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ(lv2)

2023. 6. 18. 21:00ยท๐Ÿ”’Algorithm

๋ฌธ์ œ ๐Ÿ”ฝ

https://school.programmers.co.kr/learn/courses/30/lessons/12973

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

๋‹ค๋ฅธ์‚ฌ๋žŒ ํ’€์ด ๐Ÿ”ฝ

function solution(s) {
    const stack = [];
    
    for (let i = 0; i < s.length; i++) { 
        if(stack[stack.length - 1] === s[i]) {
            stack.pop();
        } else {
            stack.push(s[i]);
        }
    }
    
    return !stack.length ? 1 : 0;
}

๋‚ดํ’€์ด๐Ÿ”ฝ

1. ์ฒซ๋ฒˆ์งธ ์‹œ๋„ -> ์‹คํŒจ โŒ ( ์ถ”์ • ์›์ธ: ์‹œ๊ฐ„๋ณต์žก๋„ ์ตœ์ ํ™” ์‹คํŒจ )

function solution(s)
{
    // ์„ฑ๊ณต>return 1
    // ์‹คํŒจ>return 0
    // ๋ฐ˜๋ณต๋ถ„ > ํƒ์ƒ‰ํ•˜๋ฉด์„œ > [n] =[n+1] ์ด๋ฉด ๋ฐ”๋กœ ๊ทธ ๋‘๊ฐœ ์‚ญ์ œ > ๊ทธ๋ฆฌ๊ณ  ๋‹ค์‹œ ๋๊นŒ์ง€ ํƒ์ƒ‰ >
    // ํƒ์ƒ‰์ด ๋๋‚ฌ๋Š”๋ฐ > length 0์ด๋ฉด > return 1 ์•„๋‹ˆ๋ฉด return 0 
    
    if(s.length%2){
        return 0;
    }

    var answer = 0;
    let string = [...s]
    
    
    let indicator = true;
    if(string.length%2==1){
        return 0;
    }

    while(indicator){
        if(string.length==0){
            answer = 1;
            indicator=false;
            break;
        }
        for(let i=0; i<string.length; i++){
            if(i==string.length-1){
                answer = 0;
                indicator=false;
                break;  
            }else{
                if(string[i]===string[i+1]){
                    string.splice(i,2)
                    break;
                }
            }
        }
    }

    return answer;
}

2. ๋‘๋ฒˆ์งธ ์‹œ๋„ -> ์„ฑ๊ณต โญ• 

function solution(s)
{


	// ๋ฌธ์ž์—ด์˜ length๊ฐ€ ํ™€์ˆ˜๋ฉด ๋ฌด์กฐ๊ฑด return 0;
    if(s.length%2){
        return 0;
    }

    var answer = 0;
    let string = [...s]

    let stack=[]

    for(let i=0; i<string.length; i++){
        if(stack[stack.length-1]===string[i]){
           stack.pop()
        }else{
            stack.push(string[i])
        }
    }
    return stack.length?0:1;
}

๋А๋‚€์ ๐Ÿ”ฝ

์ด์ œ ์–ด๋А์ •๋„ ๋กœ์ง ์ž‘์„ฑ๊นŒ์ง€๋Š” ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”๋ฐ ๊ทธ ์ดํ›„์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ์ตœ์ ํ™” ํ•˜์ง€ ๋ชปํ•˜๊ณ  ์žˆ๋‹ค. ์•ž์œผ๋กœ ๊ด€๊ฑด์€ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ์ตœ์ ํ™” ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ์žก๊ณ  ํ’€์–ด์•ผ ๊ฒ ๋‹ค. ๊ทธ๋ฆฌ๊ณ  splice์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ๋‹ค์‹œ๊ธˆ ํšŒ๊ณ ํ•˜๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

stack์— ๋Œ€ํ•œ ๊ธฐ๋ฒ•์„ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜์—ฌ ์—ฐ์‚ฐ์†๋„๋ฅผ ์ค„์ด์ž!!๐Ÿ‘‍๐Ÿ—จ๐Ÿ•‘

 

*Array.splice method ( ์ฐธ๊ณ ์‚ฌํ•ญ - splice ๋Š” ๋ถ™์ด๋‹ค ๋ผ๋Š” ์˜๋ฏธ๋กœ ์˜์–ด์—์„œ ์‚ฌ์šฉ )

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/splice

 

Array.prototype.splice() - JavaScript | MDN

splice() ๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด์˜ ๊ธฐ์กด ์š”์†Œ๋ฅผ ์‚ญ์ œ ๋˜๋Š” ๊ต์ฒดํ•˜๊ฑฐ๋‚˜ ์ƒˆ ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ฐฐ์—ด์˜ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.

developer.mozilla.org

 

'๐Ÿ”’Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ์นดํŽซ (lv2)  (0) 2023.06.20
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ์˜์–ด ๋๋ง์ž‡๊ธฐ (lv2)  (2) 2023.06.19
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜(lv2)  (0) 2023.06.17
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ๋‹ค์Œ ํฐ ์ˆซ์ž(lv2)  (0) 2023.06.16
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ์ˆซ์ž์˜ ํ‘œํ˜„(lv2)  (0) 2023.06.15
'๐Ÿ”’Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ์นดํŽซ (lv2)
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ์˜์–ด ๋๋ง์ž‡๊ธฐ (lv2)
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜(lv2)
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ๋‹ค์Œ ํฐ ์ˆซ์ž(lv2)
devWarrior
devWarrior
  • devWarrior
    devWarrior
    devWarrior
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐ŸงฉDev (263)
      • โญFE (34)
      • ๐Ÿ”’Algorithm (155)
      • โž•Etc. (11)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
    • ๊ธ€์“ฐ๊ธฐ
    • ๊ด€๋ฆฌ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
    DFS
    ์ฝ”ํ…Œ
    nodejs
    ํ”„๋ก ํŠธ์—”๋“œ
    ๊ณจ๋“œ5
    react
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
    dp
    FE
    Lv2
    ์‹ค๋ฒ„1
    ์˜ค๋ธ”์™„
    Algorithm
    node.js
    ๊ตฌํ˜„
    BFS
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    Easy
    ๋ฐฑ์ค€
    ์ž์Šค
    js
    javascript
    ์‹ค๋ฒ„4
    leetcode
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ์‹ค๋ฒ„2
    ๊ทธ๋ฆฌ๋””
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ์‹ค๋ฒ„3
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
devWarrior
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ์ง์ง€์–ด ์ œ๊ฑฐํ•˜๊ธฐ(lv2)
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”