
ํ๊ตญ์คํ๊ต์ ๋ค๋๋ ํ์๋ค์ ๊ฐ์ ์ ์ ๋ฒํธ๋ฅผ ๊ฐ๊ณ ์์ต๋๋ค. ์ด ํ๊ต ํ์ 3๋ช ์ ์ ์ ๋ฒํธ๋ฅผ ๋ํ์ ๋ 0์ด ๋๋ฉด 3๋ช ์ ํ์์ ์ผ์ด์ฌ๋ผ๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, 5๋ช ์ ํ์์ด ์๊ณ , ๊ฐ๊ฐ์ ์ ์ ๋ฒํธ๊ฐ ์์๋๋ก -2, 3, 0, 2, -5์ผ ๋, ์ฒซ ๋ฒ์งธ, ์ธ ๋ฒ์งธ, ๋ค ๋ฒ์งธ ํ์์ ์ ์ ๋ฒํธ๋ฅผ ๋ํ๋ฉด 0์ด๋ฏ๋ก ์ธ ํ์์ ์ผ์ด์ฌ์ ๋๋ค. ๋ํ, ๋ ๋ฒ์งธ, ๋ค ๋ฒ์งธ, ๋ค์ฏ ๋ฒ์งธ ํ์์ ์ ์ ๋ฒํธ๋ฅผ ๋ํด๋ 0์ด๋ฏ๋ก ์ธ ํ์๋ ์ผ์ด์ฌ์ ๋๋ค. ๋ฐ๋ผ์ ์ด ๊ฒฝ์ฐ ํ๊ตญ์คํ๊ต์์๋ ๋ ๊ฐ์ง ๋ฐฉ๋ฒ์ผ๋ก ์ผ์ด์ฌ๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
ํ๊ตญ์คํ๊ต ํ์๋ค์ ๋ฒํธ๋ฅผ ๋ํ๋ด๋ ์ ์ ๋ฐฐ์ด number๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ํ์๋ค ์ค ์ผ์ด์ฌ๋ฅผ ๋ง๋ค ์ ์๋ ๋ฐฉ๋ฒ์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์.
number์ ๊ธธ์ด โค 13number์ ๊ฐ ์์ โค 1,000| number | result | 
|---|---|
| [-2, 3, 0, 2, -5] | 2 | 
| [-3, -2, -1, 0, 1, 2, 3] | 5 | 
| [-1, 1, -1, 1] | 0 | 
์ ์ถ๋ ฅ ์ #1
์ ์ถ๋ ฅ ์ #2
์ ์ถ๋ ฅ ์ #3
function solution(number) {
    const bruteForceArr = []
    // 3์ค for๋ฌธ์ผ๋ก ์ ์ฒด ํ์์ ์คํ
    for(let i = 0 ; i < number.length ; i ++) {
       for(let j = i+1 ; j < number.length ; j ++) {
           for(let k = j+1 ; k < number.length ; k ++) {
               // ๋ชจ๋  ๊ฒฝ์ฐ์ ์๋ฅผ ๋ฐฐ์ด์ ์
๋ ฅ
               bruteForceArr.push([number[i], number[j], number[k]])
           }
       }
    }
    // ๊ฐ ๋ฐฐ์ด์ ์์๋ฅผ ๋ชจ๋ ํฉํ ๊ฒฐ๊ณผ๊ฐ 0์ด๋ผ๋ฉด ์ผ์ด์ฌ
    return bruteForceArr.map(a => a.reduce((acc,cur) => acc+cur , 0))
        .filter(a => a === 0 ).length
}