๐Ÿ”’Algorithm

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

devWarrior 2023. 7. 25. 21:00

๋ฌธ์ œ ๐Ÿ”ฝ

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

 

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

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

programmers.co.kr

 

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

function solution(number) {
    let result = 0;

    const combination = (current, start) => {
        if (current.length === 3) {
            result += current.reduce((acc, cur) => acc + cur, 0) === 0 ? 1 : 0;
            return;
        }

        for (let i = start; i < number.length; i++) {
            combination([...current, number[i]], i + 1);
        }
    }
    combination([], 0);
    return result;
}

// ์„œ๋กœ ๋‹ค๋ฅธ ์‚ฌ๋žŒ 3๋ช…์„ ํ•„์š”๋กœํ•˜๋ฏ€๋กœ
// ์กฐํ•ฉ ํ™œ์šฉ => 3๋ช…์ด ์กด์žฌ => ๊ทธ ํ•ฉ์„ ๊ตฌํ•˜์—ฌ 0์ด๋ฉด count++;
// combination ํ•จ์ˆ˜ ์‚ฌ์šฉ

 

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

1. ์„ฑ๊ณต โญ•  

function solution(number) {
    let answer = 0;    
    for(let i=0; i<number.length-2; i++){
        for(let j=i+1; j<number.length-1; j++){
            for(let z=j+1; z<number.length; z++){
                if(number[i]+number[j]+number[z]===0){++answer}
            }
        }
    }
    return answer;
}

๋А๋‚€์ ๐Ÿ”ฝ

์‰ฝ๊ฒŒ ํ’€์ˆ˜ ์žˆ์–ด ๊ธฐ๋ถ„์ด ์ข‹์•˜๋‹ค~!