ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > ํƒ๋ฐฐ์ƒ์ž

2024. 6. 29. 21:44ยท๐Ÿ”’Algorithm

๐Ÿ”ต๋ฌธ์ œ๋งํฌ

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

 

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

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

programmers.co.kr

 

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

function solution(order) {
    
    let arr = new Array(order.length).fill(0)
    for(let i=0; i<=arr.length-1; ++i){
        arr[order[i]-1]=i+1
    }
    
    let commingNum = 1
    let i =0
    let sub = []

    while(i<=arr.length-1){
        while(true){
            if(arr[i]===commingNum){
                ++commingNum
                ++i
            }else if(sub.length>=1 && sub.at(-1)===commingNum){
                sub.pop()
                ++commingNum
            }else{
                break
            }
        }
        
        sub.push(arr[i])
        ++i
    }

    return commingNum-1;
}

 

๐Ÿ”ตํ›„๊ธฐ

์ฒ˜์Œ์— ์‚ฝ์งˆ์„ ๋„ˆ๋ฌด ๋งŽ์ด ํ•ด์„œ ๋”ฐ๋กœ ํฌ์ŠคํŒ…ํ•˜๋ฉด์„œ ๊นŒ์ง€ ๊ธ€์„ ์“ด๋‹ค๐Ÿ™„

์ฒซ ์‹œ๋„ ์‹œ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋„ˆ๋ฌด ๋œจ๊ธธ๋ž˜ ๋ฌธ์ œ๋ฅผ ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ƒˆ๋กœ์šด ์–ด๋ ˆ์ด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ํŒŒํŠธ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๋ฌธ์ œ์— ์ ‘๊ทผํ–ˆ์ง€๋งŒ ์•Œ๊ณ  ๋ณด๋‹ˆ ๋‚ด๊ฐ€ while break๋ฅผ ์ž˜๋ชป ๊ฑธ์–ด์„œ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋‚œ ๊ฒƒ ๊ฐ™์•˜๋‹ค. ๊ต‰์žฅํžˆ ๊ธˆ๋ฐฉ ํ’€ ๋ฌธ์ œ์˜€๋Š”๋ฐ ๊ทธ๊ฑฐ ํ•˜๋‚˜๋•Œ๋ฌธ์— ์‹œ๊ฐ„์„ ๊ต‰์žฅํžˆ ๋งŽ์ด ์žก์•„ ๋จน์—ˆ๋‹ค.

 

๋‚ดํ’€์˜ ํ•ต์‹ฌ์€ ๋ฌธ์ œ๋ฅผ ์‰ฝ๊ฒŒ ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ์šด Arr๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค. 

์ฃผ์–ด์ง„ ์–ด๋ ˆ์ด์˜ ๊ฐ๊ฐ์˜ ์›์†Œ๋ฅผ ํŠธ๋Ÿญ์— ๋“ค์–ด๊ฐ€๋Š” ์ˆœ์„œ๋กœ ๋ฐ”๊พธ์—ˆ๊ณ  ์ด๋Š” ํ’€์ด๋ฅผ ๊ต‰์žฅํžˆ ์‰ฝ๊ฒŒ ๋งŒ๋“ค์—ˆ๋‹ค.

 

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

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค [JS] > ์†Œ์ˆ˜์ฐพ๊ธฐ  (0) 2024.07.07
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (JS) > ๊ฐ€์žฅ ํฐ์ˆ˜  (0) 2024.07.04
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค > ์„ฑ๊ฒฉ ์œ ํ˜• ๊ฒ€์‚ฌํ•˜๊ธฐ  (0) 2024.06.02
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ์™„์ฃผํ•˜์ง€๋ชปํ•œ์„ ์ˆ˜(lv1)  (1) 2023.08.04
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ๋•…๋”ฐ๋จน๊ธฐ(lv2)  (0) 2023.08.03
'๐Ÿ”’Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค [JS] > ์†Œ์ˆ˜์ฐพ๊ธฐ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (JS) > ๊ฐ€์žฅ ํฐ์ˆ˜
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค > ์„ฑ๊ฒฉ ์œ ํ˜• ๊ฒ€์‚ฌํ•˜๊ธฐ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ์™„์ฃผํ•˜์ง€๋ชปํ•œ์„ ์ˆ˜(lv1)
devWarrior
devWarrior
  • devWarrior
    devWarrior
    devWarrior
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐ŸงฉDev (263)
      • โญFE (34)
      • ๐Ÿ”’Algorithm (155)
      • โž•Etc. (11)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

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

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
devWarrior
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > ํƒ๋ฐฐ์ƒ์ž
์ƒ๋‹จ์œผ๋กœ

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