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

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

๋ฌธ์ œ ๐Ÿ”ฝ

https://school.programmers.co.kr/learn/courses/30/lessons/131127/solution_groups?language=javascript&type=my 

 

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

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

programmers.co.kr

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

function solution(want, number, discount) {
    let count = 0;
    for (let i = 0; i < discount.length - 9; i++) {
        const slice = discount.slice(i, i+10);

        let flag = true;
        for (let j = 0; j < want.length; j++) {
            if (slice.filter(item => item === want[j]).length !== number[j]) {
                flag = false;
                break;
            }
        }
        if (flag) count += 1;
    }
    return count;
}

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

1. ์„ฑ๊ณต โญ•  

function solution(want, number, discount) {
    var answer = 0;
    let totalGoodsCnt = number.reduce((acc,value)=>{
        return acc+value
    },0)
    let refArr = []
    for(let z=0; z<want.length; z++ ){
        for(let k=1; k<=number[z]; k++){
            refArr.push(want[z])
        }
    }
    for(let i=0; i+totalGoodsCnt<=discount.length; i++){
        let b = refArr.slice()
        for(let j=i; j<i+totalGoodsCnt; j++){
            if(b.indexOf(discount[j])>=0){
                b.splice(b.indexOf(discount[j]),1)    
            }
        }
        if(b.length===0){
            ++answer
        }
    }
    return answer;
}

 

๋А๋‚€์ ๐Ÿ”ฝ

- reduce ์šฉ๋ฒ•

reduce( (acc, currentValue) = > { return acc+currentValue } , 0 ) 

>> ๋ฐฐ์—ด์„ ์ˆœํšŒํ™”๋ฉด์„œ acc์— ๊ฐ’์„ ๊ณ„์† ๋”ํ•œ๋‹ค, ์—ฌ๊ธฐ์„œ 0์€ acc์˜ ์ดˆ๊ธฐ๊ฐ’์ด๋‹ค.

 

- slice์˜ ์šฉ๋ฒ• ์ค‘ ํ•˜๋‚˜ > ๋ฐฐ์—ด์˜ ๊นŠ์€ ๋ณต์‚ฌ

let newArr = oldArray.slice() ๋Š” oldArray๋ฅผ ๊นŠ์€ ๋ณต์‚ฌ ํ•œ๋‹ค. (โ€ป ๋‹จ .slice() ๋Š” 1์ฐจ์› ๋ฐฐ์—ด์—์„œ๋งŒ ๊นŠ์€ ๋ณต์‚ฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค)

 

- indexOf ์šฉ๋ฒ•

let oldArray = [ "a", "b" , "b", "c" ] ์ธ๊ฒฝ์šฐ 

oldArray.indexOf("b") => 1์ด ๋‚˜์˜จ๋‹ค ( "b" ํ•˜๋‚˜๋ฐ–์— ์ธ์ง€ํ•˜์ง€ ๋ชปํ•œ๋‹ค )

oldArray.indexOf("d") => -1์ด ๋‚˜์˜จ๋‹ค ( ํ•ด๋‹นํ•˜๋Š” ๊ฐ’์ด ์—†์„ ๊ฒฝ์šฐ -1 ์ด ๋‚˜์˜จ๋‹ค ) 

 

- ๋ฌธ์ œ๋ฅผ ๋˜‘๋ฐ”๋กœ ์ฝ์ž ... 

> ์ฃผ์–ด์ง„ ์ œํ•œ์‚ฌํ•ญ์„ ์ œ๋Œ€๋กœ ์ฝ์ง€ ์•Š์•˜๋‹ค. ์ฝ์—ˆ๋‹ค๋ฉด ๋” ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์—ˆ์„ํ…๋ฐ...

 

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

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ํ• ์ธ ํ–‰์‚ฌ  (0) 2023.07.10
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ๊ธฐ๋Šฅ๊ฐœ๋ฐœ  (0) 2023.07.09
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ํŠœํ”Œ(lv2)  (0) 2023.07.05
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ์˜์ƒ(lv2)  (0) 2023.07.04
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ํ–‰๋ ฌ์˜ ๊ณฑ์…ˆ(lv2)  (0) 2023.07.03
'๐Ÿ”’Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ํ• ์ธ ํ–‰์‚ฌ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ๊ธฐ๋Šฅ๊ฐœ๋ฐœ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ํŠœํ”Œ(lv2)
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ํ’€์ด(js) > ์˜์ƒ(lv2)
devWarrior
devWarrior
  • devWarrior
    devWarrior
    devWarrior
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐ŸงฉDev (263)
      • โญFE (34)
      • ๐Ÿ”’Algorithm (155)
      • โž•Etc. (11)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

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

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

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

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

  • ์ตœ๊ทผ ๊ธ€

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

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