๊ด€๋ฆฌ ๋ฉ”๋‰ด

Daehyunii's Dev-blog

์ผ๊ณฑ ๋‚œ์žฅ์ด(๊ธฐ๋ณธ ๋ฌธ์ œ ํ’€์ด) ๋ณธ๋ฌธ

๐Ÿ“š Language & CS knowledge/Algorithm (๊ธฐ์ดˆ๋ฌธ์ œํ’€์ด)

์ผ๊ณฑ ๋‚œ์žฅ์ด(๊ธฐ๋ณธ ๋ฌธ์ œ ํ’€์ด)

Daehyunii 2022. 8. 28. 21:52

๋ฌธ์ œ(์ถœ์ฒ˜ : ์ธํ”„๋Ÿฐ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด ๊ฐ•์˜, ์ •๋ณด์˜ฌ๋ฆผํ”ผ์•„๋“œ)

 

์™•๋น„๋ฅผ ํ”ผํ•ด ์ผ๊ณฑ ๋‚œ์Ÿ์ด๋“ค๊ณผ ํ•จ๊ป˜ ํ‰ํ™”๋กญ๊ฒŒ ์ƒํ™œํ•˜๊ณ  ์žˆ๋˜ ๋ฐฑ์„ค๊ณต์ฃผ์—๊ฒŒ ์œ„๊ธฐ๊ฐ€ ์ฐพ์•„์™”๋‹ค. ์ผ๊ณผ๋ฅผ ๋งˆ์น˜๊ณ  ๋Œ์•„์˜จ ๋‚œ์Ÿ์ด๊ฐ€ ์ผ๊ณฑ ๋ช…์ด ์•„๋‹Œ ์•„ํ™‰ ๋ช…์ด์—ˆ๋˜ ๊ฒƒ์ด๋‹ค.

์•„ํ™‰ ๋ช…์˜ ๋‚œ์Ÿ์ด๋Š” ๋ชจ๋‘ ์ž์‹ ์ด "๋ฐฑ์„ค ๊ณต์ฃผ์™€ ์ผ๊ณฑ ๋‚œ์Ÿ์ด"์˜ ์ฃผ์ธ๊ณต์ด๋ผ๊ณ  ์ฃผ์žฅํ–ˆ๋‹ค. ๋›ฐ์–ด๋‚œ ์ˆ˜ํ•™์  ์ง๊ด€๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋˜ ๋ฐฑ์„ค๊ณต์ฃผ๋Š”, ๋‹คํ–‰์Šค๋Ÿฝ๊ฒŒ๋„ ์ผ๊ณฑ ๋‚œ์Ÿ์ด์˜ ํ‚ค์˜ ํ•ฉ์ด 100์ด ๋จ์„ ๊ธฐ์–ตํ•ด ๋ƒˆ๋‹ค.

์•„ํ™‰ ๋‚œ์Ÿ์ด์˜ ํ‚ค๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ฐฑ์„ค๊ณต์ฃผ๋ฅผ ๋„์™€ ์ผ๊ณฑ ๋‚œ์Ÿ์ด๋ฅผ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ ์˜ค.

โ–ฃ ์ž…๋ ฅ์„ค๋ช…
์•„ํ™‰ ๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ๋‚œ์Ÿ์ด๋“ค์˜ ํ‚ค๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ํ‚ค๋Š” 100์„ ๋„˜์ง€ ์•Š๋Š” ์ž์—ฐ์ˆ˜์ด๋ฉฐ, ์•„ํ™‰ ๋‚œ์Ÿ์ด์˜ ํ‚ค๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๋ฉฐ, ๊ฐ€๋Šฅํ•œ ์ •๋‹ต์ด ์—ฌ๋Ÿฌ ๊ฐ€์ง€์ธ ๊ฒฝ์šฐ์—๋Š” ์•„๋ฌด๊ฑฐ๋‚˜ ์ถœ๋ ฅํ•œ๋‹ค.

โ–ฃ ์ถœ๋ ฅ์„ค๋ช…
์ž…๋ ฅ๋œ ์ˆœ์„œ๋Œ€๋กœ ์ผ๊ณฑ ๋‚œ์Ÿ์ด์˜ ํ‚ค๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

โ–ฃ ์ž…๋ ฅ์˜ˆ์ œ 1
20 7 23 19 10 15 25 8 13

โ–ฃ ์ถœ๋ ฅ์˜ˆ์ œ 1
20 7 23 19 10 8 13

 

Tip

1) ์ด์ค‘ for๋ฌธ์„ ํ™œ์šฉํ•œ๋‹ค. (์ฃผ์˜ํ•ด์•ผ ํ•  ์ ์€ ์ค‘๋ณต ๊ณ„์‚ฐ๋˜์ง€ ์•Š๊ฒŒ ๋ฐ˜๋ณต ํšŸ์ˆ˜๋ฅผ ์กฐ์ ˆํ•ด์•ผํ•œ๋‹ค.)

์ฒซ ๋ฒˆ์งธ for๋ฌธ์€ (0~7)๊นŒ์ง€ ๋Œ๊ณ , ๋‘ ๋ฒˆ์งธ for๋ฌธ์€ (i+1 ~ 8)์ธ๋ฑ์Šค๊นŒ์ง€ ์ค‘๋ณต ๊ณ„์‚ฐ์ด ๋ฐœ์ƒ๋˜์ง€ ์•Š๋Š”๋‹ค.

2) ๋จผ์ € 9๊ฐœ ์ˆซ์ž์˜ ์ด ํ•ฉ์„ ๊ตฌํ•œ๋‹ค.

3) ์ดํ•ฉ - (์ˆซ์ž + ์ˆซ์ž) === 100์ธ ๊ฒฝ์šฐ๋ฅผ ์ฐพ๋Š”๋‹ค.

4) ๊ทธ๋ฆฌ๊ณ  ์›๋ณธ๋ฐฐ์—ด์—์„œ ํ•ด๋‹น ์ˆซ์ž ์š”์†Œ 2๊ฐœ๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค.

(์ œ๊ฑฐ์‹œ, ์ œ๊ฑฐ ์ˆœ์„œ๋ฅผ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค! ๋” ๋’ค์— ์œ„์น˜ํ•˜๋Š” ์ˆซ์ž๋ถ€ํ„ฐ ์ œ๊ฑฐํ•ด์•ผํ•จ!! ์ธ๋ฑ์Šค๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—)

5) ์ œ๊ฑฐ๋Š” Array.prototype.splice(์ธ๋ฑ์Šค, ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋ช‡๊ฐœ ์š”์†Œ ์ œ๊ฑฐํ• ์ง€(์˜ต์…˜), ์ œ๊ฑฐํ•œ ์ž๋ฆฌ์— ์–ด๋–ค ๊ฐ’์„ ๋„ฃ์„์ง€(์˜ต์…˜))์„ ํ™œ์šฉํ•œ๋‹ค.


๋ฌธ์ œํ’€์ด

//์ •๋‹ต
function solution(arr){
    let answer = arr;

    let sum = 0;
    for(let x of arr) sum += x;
    console.log(sum);

    for(let i = 0 ; i < 8 ; i++){
        for(let j = i + 1 ; j < 9 ; j++){
            if(sum - (answer[i] + answer[j]) === 100){
                answer.splice(j,1);
                answer.splice(i,1);
            }
        }

    }
    return answer;
}

let arr=[20, 7, 23, 19, 10, 15, 25, 8, 13];
console.log(solution(arr));