1. ๋ฌธ์ œ

์ผ๊ณผ๋ฅผ ๋งˆ์น˜๊ณ  ๋Œ์•„์˜จ ๋‚œ์Ÿ์ด๊ฐ€ ์ผ๊ณฑ๋ช…์ด ์•„๋‹ˆ๋ผ ์•„ํ™‰๋ช… ์ด์—ˆ๋‹ค. ๋ฐฑ์„ค๊ณต๋ถ€๋Š” ์ผ๊ณฑ ๋‚œ์Ÿ์ด์˜ ํ‚ค์˜ ํ•ฉ์ด 100์ด ๋จ์„ ์•Œ๊ณ ์žˆ์—ˆ๋‹ค. ์•„ํ™‰ ๋‚œ์Ÿ์ด์˜ ํ‚ค๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ฐฑ์„ค๊ณต์ฃผ๋ฅผ ๋„์™€ ์ผ๊ณฑ ๋‚œ์Ÿ์ด๋ฅผ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ์˜ˆ์ œ | 20 7 23 19 10 15 25 8 13

 

 

2. ๋‚ด๊ฐ€ ํ‘ผ ๋ฐฉ๋ฒ•

9๊ฐœ ๋‹ค ๋”ํ•œ ์ดํ•ฉ - 100 = n

2๊ฐœ ๋”ํ•œ๊ฒŒ n ์ด ๋‚˜์˜ค๋ฉด ๊ทธ ๋‘๊ฐœ๋ฅผ ๋นผ๋ฒ„๋ฆฌ๊ณ  ์ถœ๋ ฅํ•œ๋‹ค.

๋‘๊ฐœ์”ฉ ๋”ํ•ด์„œ ๋งž๋Š”์ง€ ์•ˆ๋งž๋Š”์ง€ ๋น„๊ต๋ฅผ ํ•ด์ค˜์•ผํ•˜๋Š”๋ฐ, ์ด์ค‘ for๋ฌธ์„ ๋Œ๋ฉด์„œ ์ „๋ถ€ ๋‹ค ํ•ด๋ด์•ผํ•œ๋‹ค.

 

 

3. ๋ฌธ์ œํ’€์ด

1. 9๊ฐœ์˜ ์ดํ•ฉ์„ ๊ตฌํ•˜๊ณ  ๊ฐ€์งœ ๋‚œ์Ÿ์ด 2๊ฐœ๋ฅผ ๋”ํ•œ ๊ฐ’์„ ๋นผ์„œ 100์ด ๋งž์œผ๋ฉด

sum - (arr[i] + arr[j]) === 100

2. splice ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 2๊ฐœ ๊ฐ’ ์ œ๊ฑฐํ•ด๋ฒ„๋ฆฌ๊ณ  ์ถœ๋ ฅํ•œ๋‹ค. 

function solution(arr) {
            let answer = arr; // ์–‡์€ ๋ณต์‚ฌ : ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ๋Š” ๊ฐ™์€ ๋ฐฐ์—ด์„ ๊ฐ€๋ฆฌํ‚ค๊ณ  ์žˆ๋Š” ๊ฒƒ(์ฃผ์†Œ๋งŒ๋ณต์‚ฌ)
            let sum = arr.reduce((a,b)=> a+b,0);
            // 0๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ 9๊ฐœ๋‹ˆ๊นŒ 8๋ฒˆ์งธ ์ธ๋ฑ์Šค ๊นŒ์ง€ ๋Œ๊ฑฐ์•ผ. i๋Š” 0๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ์‹œ์ž‘
            for(let i=0; i<8; i++){
                // j๋Š” i์˜ ๋’ค์—๊บผ๋ผ์„œ +1ํ•ด์ค€๋‹ค. j๋Š” 1๋ฒˆ์งธ ์ธ๋ฑ์Šค ๋ถ€ํ„ฐ ์‹œ์ž‘
                for(let j=i+1; j<9; j++){
                    if((sum-(arr[i]+arr[j])) === 100){
                        arr.splice(j, 1); // ์•ž์—๊บผ๋ถ€ํ„ฐ ์ง€์šฐ๋ฉด ์ธ๋ฑ์Šค๊ฐ€ ๋ฐ”๋€Œ์–ด๋ฒ„๋ ค์„œ ๋’ค์—์„œ ๋ถ€ํ„ฐ ์ง€์šด๋‹ค
                        arr.splice(i, 1);
                
                    }
                }
            }
            return answer;
        }

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

 

 

4. ์‚ฌ์šฉํ•œ ๊ฐœ๋…

Array.reduce ๋ฉ”์†Œ๋“œ (๋ฐฐ์—ด์˜ ๋ˆ„์ ๊ฐ’, ์ดํ•ฉ ๊ตฌํ•˜๊ธฐ)

reduce ๋ฉ”์†Œ๋“œ๋Š” ์ž์‹ ์„ ํ˜ธ์ถœํ•œ ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋Œ๋ฉด์„œ ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ๊ตฌํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•œ๋‹ค.

// ๊ตฌ๋ฌธ ์ •๋ฆฌ
array.reduce(function(๋ˆ„์ ๊ฐ’, ํ˜„์žฌ๊ฐ’, ์ธ๋ฑ์Šค, ๋ฐฐ์—ด){ return ๋ˆ„์ ๊ฐ’ + ํ˜„์žฌ๊ฐ’ }, 0);
// ํ™”์‚ดํ‘œ ํ•จ์ˆ˜ ์‚ฌ์šฉ
array.reduce((๋ˆ„์ ๊ฐ’, ํ˜„์žฌ๊ฐ’, ์ธ๋ฑ์Šค, ๋ฐฐ์—ด) => return ๊ฒฐ๊ณผ, ์ดˆ๊ธฐ๊ฐ’);

 

 

Array.splice ๋ฉ”์†Œ๋“œ (๋ฐฐ์—ด ๋‚ด ํŠน์ • ์ธ๋ฑ์Šค ์ œ๊ฑฐ)

์›๋ณธ ๋ฐฐ์—ด์˜ ์ค‘๊ฐ„์— ์š”์†Œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์ค‘๊ฐ„์— ์žˆ๋Š” ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•œ๋‹ค.

splice๋ฉ”์†Œ๋“œ๋Š” 3๊ฐœ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ์žˆ์œผ๋ฉฐ ์›๋ณธ ๋ฐฐ์—ด์„ ์ง์ ‘ ๋ณ€๊ฒฝํ•œ๋‹ค.

// ๊ตฌ๋ฌธ ์ •๋ฆฌ
๋ฐฐ์—ด.splice(์ธ๋ฑ์Šค, 1) // ์ธ๋ฑ์Šค์— ์žˆ๋Š” 1๊ฐœ ์š”์†Œ ์ œ๊ฑฐํ•œ๋‹ค




const arr = [1, 2, 3, 4];

const result = arr.splice(1, 2, 20, 30);
// ์›๋ณธ ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค 1๋ถ€ํ„ฐ 2๊ฐœ์˜ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•˜๊ณ  ๊ทธ ์ž๋ฆฌ์— ์ƒˆ๋กœ์šด ์š”์†Œ 20, 30์„ ์‚ฝ์ž…ํ•œ๋‹ค. 

 

 

์ด์ค‘ for๋ฌธ ์˜ˆ์ œ๋ฅผ ๋” ํ’€๊ณ  ๊ณต๋ถ€๋ฅผ ํ•ด์•ผ๊ฒ ๋‹ค.

+ Recent posts