ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > ์ˆ˜์‹ ์ตœ๋Œ€ํ™”

2024. 8. 10. 22:10ยท๐Ÿ”’Algorithm

 

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

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

 

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

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

programmers.co.kr

 

๐Ÿ”ฅํ’€์ด

1. ์ผ๋‹จ ์ฃผ์–ด์ง„ ์ˆ˜์‹(expression)์„ ์—ฐ์‚ฐ์ž์™€ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์—ฌ ๋ฐฐ์—ด๋กœ ๋‚˜๋ˆด๋‹ค

-> [500, '-', 300 , '+', 200] 

2. ์ด๋Ÿฐ์‹์œผ๋กœ ๋‚˜๋ˆˆ ๋‹ค์Œ ์ตœ๋Œ€๋กœ ๋‚˜์˜ฌ์ˆ˜์žˆ๋Š” ์—ฐ์‚ฐ์ˆœ์œ„ 6๊ฐ€์ง€๋ฅผ ๋ชจ๋‘ ๊ตฌํ•จ

->  ํ•˜๋‹จ op_order_arr ์ฐธ๊ณ  

3. ์—ฐ์‚ฐ์ž ์ˆœ์œ„๋กœ ๋‚˜์˜ฌ์ˆ˜ ์žˆ๋Š” 6๊ฐ€์ง€๋ฅผ ๋ชจ๋‘ ๋Œ๋ ค๊ฐ€๋ฉฐ ์ตœ๋Œ“๊ฐ’์„ ๊ณ„์† ๊ฐฑ์‹ 

-> op_order_arr.forEach((op_arr)=> { ...   }) // ํ•ด๋‹น ์—ฐ์‚ฐ ์ฐธ๊ณ 

 

function solution(expression) {
    let max = 0
    let value = ''
    let origin=[]
    for(let i=0; i<=expression.length-1; ++i){
        let cha = expression[i]
        if(cha==='-'||cha==='+'||cha==='*'){
            origin.push(Number(value))
            value=''
            origin.push(cha)
        }else if(i===expression.length-1){
            value+=cha
            origin.push(Number(value))
        }else{
            value+=cha
        }
    }
    
    const op_order_arr =
    [['*','+','-'],
    ['*','-','+'],
    ['+','*','-'],
    ['+','-','*'],
    ['-','*','+'],
    ['-','+','*']]
    
    op_order_arr.forEach((op_arr)=>{
        let arr = [...origin]
        
        op_arr.forEach((op)=>{
            let i =0
            while(i<=arr.length-1){
                if(arr[i+1] && arr[i+1]===op){
                    let cha = arr[i+1]
                    let replaced_val = undefined
                    if(cha==='+'){
                        replaced_val = arr[i]+arr[i+2] 
                    }else if(cha==='-'){
                        replaced_val = arr[i]-arr[i+2]
                    }else if(cha==='*'){
                        replaced_val = arr[i]*arr[i+2]
                    }
                    arr.splice(i,3,replaced_val)
                    
                }else{
                    ++i
                }
    
            }
        
        })
        max=Math.max(max,Math.abs(arr[0]))
    })


    return max;
}

 

๐Ÿ”ฅํ›„๊ธฐ

์ฒ˜์Œ์— ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ๋Œ๋ฆฌ๋Š”๊ฒŒ ์‹œ๊ฐ„์ดˆ๊ณผ ๋  ์ค„์•Œ๊ณ  ๋ฐ˜์‹ ๋ฐ˜์˜ ํ•˜๋ฉฐ ์‹œ๋„ํ•ด๋ดค๋Š”๋ฐ ๋‹คํ–‰ํžˆ ์‹œ๊ฐ„์— ๊ฑธ๋ฆฌ์ง€๋Š” ์•Š์•˜๋‹ค. ๊ทธ ๋ณด๋‹ค ์ฒซ๋ฒˆ์งธ ์ˆ˜์‹๋ฌธ์ž์—ด(expression)์„ ์—ฐ์‚ฐ์ž, ํ”ผ์—ฐ์‚ฐ์ž ๊ตฌ๋ถ„ํ•˜์—ฌ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค๋•Œ ๋งˆ์ง€๋ง‰ ๋ฌธ์ž๋ฅผ ๋นผ๊ณ  ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค์–ด์„œ ํ•œ์ฐธ ๊ณ ์ƒํ–ˆ๋‹ค. ์—ญ์‹œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ’€ ๋•Œ๋Š” ๊ฐ์žก๊ณ  ์ง‘์ค‘ํ•ด์„œ ํ‘ธ๋Š”๊ฒŒ ์ข‹์€ ๊ฒƒ ๊ฐ™๋‹ค.๐Ÿ™„๐Ÿ™„

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

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > ์ˆœ์œ„  (0) 2024.08.15
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > ๋ฌด์ธ๋„ ์—ฌํ–‰  (0) 2024.08.11
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > [3์ฐจ] n์ง„์ˆ˜ ๊ฒŒ์ž„  (0) 2024.08.05
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > ์ •์ˆ˜ ์‚ผ๊ฐํ˜•  (0) 2024.08.04
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > ๊ฒน์น˜๋Š” ์„ ๋ถ„์˜ ๊ธธ์ด  (0) 2024.07.20
'๐Ÿ”’Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > ์ˆœ์œ„
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > ๋ฌด์ธ๋„ ์—ฌํ–‰
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > [3์ฐจ] n์ง„์ˆ˜ ๊ฒŒ์ž„
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค[JS] > ์ •์ˆ˜ ์‚ผ๊ฐํ˜•
devWarrior
devWarrior
  • devWarrior
    devWarrior
    devWarrior
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐ŸงฉDev (263)
      • โญFE (34)
      • ๐Ÿ”’Algorithm (155)
      • โž•Etc. (11)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

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

  • ์ตœ๊ทผ ๊ธ€

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

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