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๋ฌธ ์˜ˆ์ œ๋ฅผ ๋” ํ’€๊ณ  ๊ณต๋ถ€๋ฅผ ํ•ด์•ผ๊ฒ ๋‹ค.

1. ๋ฌธ์ œ

์„œ์šธ์‹œ๋Š” 6์›” 1์ผ๋ถ€ํ„ฐ ๊ตํ†ต ํ˜ผ์žก์„ ๋ง‰๊ธฐ ์œ„ํ•ด์„œ ์ž๋™์ฐจ 10๋ถ€์ œ๋ฅผ ์‹œํ–‰ํ•œ๋‹ค. ์ž๋™์ฐจ 10๋ถ€์ œ๋Š”์ž๋™์ฐจ ๋ฒˆํ˜ธ์˜ ์ผ์˜ ์ž๋ฆฌ ์ˆซ์ž์™€ ๋‚ ์งœ์˜ ์ผ์˜ ์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ์ผ์น˜ํ•˜๋ฉด ํ•ด๋‹น ์ž๋™์ฐจ์˜ ์šดํ–‰์„ ๊ธˆ์ง€ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ž๋™์ฐจ ๋ฒˆํ˜ธ์˜ ์ผ์˜ ์ž๋ฆฌ ์ˆซ์ž๊ฐ€ 7์ด๋ฉด 7์ผ, 17์ผ, 27์ผ์— ์šดํ–‰ํ•˜์ง€ ๋ชปํ•œ๋‹ค. ๋˜ํ•œ, ์ž๋™์ฐจ ๋ฒˆํ˜ธ์˜ ์ผ์˜ ์ž๋ฆฌ ์ˆซ์ž๊ฐ€ 0์ด๋ฉด 10์ผ, 20์ผ, 30์ผ์— ์šดํ–‰ํ•˜์ง€ ๋ชปํ•œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋“ค์€ ์ผ์ผ ๊ฒฝ์ฐฐ๊ด€์ด ๋˜์–ด 10๋ถ€์ œ๋ฅผ ์œ„๋ฐ˜ํ•˜๋Š” ์ž๋™์ฐจ์˜ ๋Œ€์ˆ˜๋ฅผ ์„ธ๋Š” ๋ด‰์‚ฌํ™œ๋™์„ ํ•˜๋ ค๊ณ  ํ•œ๋‹ค. ๋‚ ์งœ์˜ ์ผ์˜ ์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง€๊ณ  7๋Œ€์˜ ์ž๋™์ฐจ ๋ฒˆํ˜ธ์˜ ๋ ๋‘ ์ž๋ฆฌ ์ˆ˜๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ์œ„๋ฐ˜ํ•˜๋Š” ์ž๋™์ฐจ์˜ ๋Œ€์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

 

์ž…๋ ฅ์„ค๋ช… | ์ฒซ ์ค„์—๋Š” ๋‚ ์งœ์˜ ์ผ์˜ ์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง€๊ณ  ๋‘ ๋ฒˆ์งธ ์ค„์—๋Š” 7๋Œ€์˜ ์ž๋™์ฐจ ๋ฒˆํ˜ธ์˜ ๋ ๋‘ ์ž๋ฆฌ ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ์„ค๋ช… | ์ฃผ์–ด์ง„ ๋‚ ์งœ์™€ ์ž๋™์ฐจ์˜ ์ผ์˜ ์ž๋ฆฌ ์ˆซ์ž๋ฅผ ๋ณด๊ณ  10๋ถ€์ œ๋ฅผ ์œ„๋ฐ˜ํ•˜๋Š” ์ฐจ๋Ÿ‰์˜ ๋Œ€์ˆ˜๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์ž…๋ ฅ์˜ˆ์ œ | 3 / 25 23 11 47 53 17 33

 

 

2. ๋ฌธ์ œ ํ’€์ด (1)

1. ๋์ž๋ฆฌ๊ฐ€ n์ธ ์• ๋“ค์„ ๋ฝ‘์•„์„œ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ ๋‹ค.

2. ๋ฐฐ์—ด์˜ length๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 function solution(n, arr){
 	let newArr = [];
    for(let item of arr){
    	if(item % 10 === n) {
        	newArr.push(item);
        }
    }
    return newArr.length;
}

let arr = [25, 23, 11, 47, 53, 17, 33];
console.log(solution(3, arr));

*์–ด๋–ค ์ˆซ์ž์ด๋“ ์ง€  10์œผ๋กœ ๋‚˜๋ˆ„๋ฉด ๋‚˜๋จธ์ง€๊ฐ€ ๋งˆ์ง€๋ง‰ ์ž๋ฆฌ ์ˆซ์ž(์ผ์˜ ์ž๋ฆฌ ์ˆซ์ž)๊ฐ€ ๋œ๋‹ค.

 

 

2. ๋ฌธ์ œ ํ’€์ด (2)

n์ด ๊ฐ™์œผ๋ฉด ์นด์šดํŒ…(์ฆ๊ฐ€์‹œ์ผœ์•ผํ•จ) ํ•ด์•ผ๋˜๋‹ˆ๊นŒ answer = 0

for๋ฌธ ๋Œ๋ฉด์„œ n๊ณผ ๊ฐ™์€์ง€ ๋ด์•ผํ•˜๋‹ˆ๊นŒ for of ๋ฌธ์„ ์‚ฌ์šฉํ•ด์ค€๋‹ค.

 function solution(n, arr){
 	let answer = 0; // ์œ„๋ฐ˜ํ•˜๋Š” ์ฐจ์˜ ์ˆ˜ ์ถœ๋ ฅํ•ด์•ผํ•ด์„œ 
    for(let item of arr){
    	if(item % 10 === n) answer++; // ์œ„๋ฐ˜ํ•˜๋Š” ์ฐจ๋Ÿ‰์ด๋ฉด ํ•œ๋Œ€์”ฉ ์ถ”๊ฐ€๊ฐ€ ๋˜๋Š” ๋ฐฉ์‹
    }
    return answer;
}

let arr = [25, 23, 11, 47, 53, 17, 33];
console.log(solution(3, arr));

 

7๊ฐœ์˜ ์ž์—ฐ์ˆ˜๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ, ์ด๋“ค ์ค‘ ํ™€์ˆ˜์ธ ์ž์—ฐ์ˆ˜๋“ค์„ ๋ชจ๋‘ ๊ณจ๋ผ ๊ทธ ํ•ฉ์„ ๊ตฌํ•˜๊ณ , ๊ณ ๋ฅธ ํ™€์ˆ˜๋“ค ์ค‘ ์ตœ์†Œ๊ฐ’์„ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

์ž…๋ ฅ์˜ˆ์ œ | 12 77 38 41 53 92 85

์ถœ๋ ฅ์˜ˆ์ œ | 256, 41


[๋‚ด๊ฐ€ ํ’€์—ˆ๋˜ ๋ฐฉ๋ฒ•]

1. ํ™€์ˆ˜๋ฅผ ์ฐพ์•„์„œ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ ๋‹ค.

2. ํ™€์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ๋ฐฐ์—ด ์†์—์„œ ์ด ํ•ฉ์„ ๊ตฌํ•œ๋‹ค. (forEach ๋ฉ”์†Œ๋“œ)

3. ํ™€์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ๋ฐฐ์—ด ์†์—์„œ ์ตœ์†Œ๊ฐ’ ์ฐพ๋Š”๋‹ค.(Math.min ๋ฉ”์†Œ๋“œ)

4. ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด ๊ฐ’ 2๊ฐœ๋ฅผ ๋„ฃ์–ด์„œ ์ถœ๋ ฅํ•œ๋‹ค. (Array.push ๋ฉ”์†Œ๋“œ)

 

function solution(arr){
	let oddNumber = []; // ํ™€์ˆ˜๋ฅผ ์ฐพ์•„์„œ ๊ฐ’ ์ €์žฅ
    let answer = []; // ๊ฒฐ๊ณผ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ๋ฐฐ์—ด
    let sum = 0; // ํ™€์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ ๋ฐฐ์—ด ์š”์†Œ๋“ค์˜ ์ดํ•ฉ ๊ตฌํ•˜๊ธฐ
    for(let item of arr){
    	if(item % 2 !== 0) oddNumber.push(item);
        }
    let min = Math.min(...oddNumber);
    oddNumber.forEach((item)=>{
    	sum += item;
    })
    
    answer.push(sum);
    answer.push(min);
    
    return answer;
}

let arr = [12, 77, 38, 41, 53, 92, 85]
console.log(solution(arr));
    

 

 

for of๋ฌธ : ๋ฐฐ์—ด์˜ ๊ฐ’์„ 

 

[๋‹ค๋ฅธ ํ’€์ด๋ฐฉ๋ฒ•]

function solution(arr){
	let answer=[];
    let sum=0; min=Number.MAX_SAFE_INTEGER;
    for(let x of arr){
    	if(x%2===1){
        	sum+=x;
            if(x<min) min=x;
        }
    }
    answer.push(sum);
    answer.push(min);
    return answer;
    }

arr =[12, 77, 38, 41, 53, 92, 85];
console.log(solution(arr));

 

7๊ฐœ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๊ทธ ์ˆซ์ž ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

์ž…๋ ฅ์„ค๋ช… | ์ฒซ ๋ฒˆ์งธ ์ค„์— 7๊ฐœ์˜ ์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ์„ค๋ช… | ์ฒซ ๋ฒˆ์งธ ์ค„์— ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.

์ž…๋ ฅ ์˜ˆ์ œ | 5 3 7 11 2 15 17

์ถœ๋ ฅ ์˜ˆ์ œ | 2


 

[ํ’€์ด 1]

Math.min.apply()

1. ํ‘œ์ค€๋‚ด์žฅ๊ฐ์ฒด์ธ Math ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. Math.min() : ์ „๋‹ฌ๋ฐ›์€ ์ธ์ˆ˜ ์ค‘์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.  

2. ๋ฐฐ์—ด์„ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ ๋ฐ›์•„ ๋ฐฐ์—ด์˜ ์š”์†Œ ์ค‘์—์„œ ์ตœ์†Œ๊ฐ’์„ ๊ตฌํ•œ๋‹ค -> apply ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 

function minValue(arr){
	let answer = Math.min.apply(null, arr);
    retrun answer;
}

let arr = [5, 3, 7, 11, 2, 15, 17]
console.log(minValue(arr));

 

 

[ํ’€์ด 2]

Math.min()

function minValue(arr){
	let answer=Math.min(...arr);
    retrun answer;
}

let arr = [5, 3, 7, 11, 2, 15, 17]
console.log(minValue(arr));

... : ์ „๊ฐœ์—ฐ์‚ฐ์žspread operator - ๋ฐฐ์—ด์„ ํŽผ์ณ์ค€๋‹ค.

arr[0], arr[1], arr[2] ์ด๋Ÿฐ์‹์œผ๋กœ ๊ณ„์† ํŽผ์ณ์ค˜์„œ ์ธ์ž๋กœ ๋“ค์–ด๊ฐˆ์ˆ˜์žˆ๊ฒŒ ํŽผ์ณ์ค€๋‹ค.

 

 

[ํ’€์ด 3]

Number๊ฐ์ฒด Number.MAX_SAFE_INTEGER

function minValue(arr){
	let answer, min=Number.MAX_SAFE_INTEGER;
    for(let i=0; i<arr.length; i++) {
    	if(arr[i]<min) min=arr[i];
    anser = min;
    retrun answer;
}

let arr = [5, 3, 7, 11, 2, 15, 17]
console.log(minValue(arr));

 

 

 

 

 

[์‚ฌ์šฉํ•œ ๊ฐœ๋…]

Math ๋ฉ”์†Œ๋“œ๋Š” ์ˆ˜ํ•™์ ์ธ ์ƒ์ˆ˜์™€ ํ•จ์ˆ˜๋ฅผ ์œ„ํ•œ property์™€ ์†์„ฑ์„ ์ œ๊ณตํ•œ๋‹ค. 

 

Math.max()

์ „๋‹ฌ๋ฐ›์€ ์ธ์ˆ˜ ์ค‘์—์„œ ๊ฐ€์žฅ ํฐ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜

๋ฐฐ์—ด์„ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์•„ ๋ฐฐ์—ด์˜ ์š”์†Œ ์ค‘์—์„œ ์ตœ๋Œ€๊ฐ’์„ ๊ตฌํ•˜๋ ค๋ฉด Function.prototype.apply ๋ฉ”์†Œ๋“œ ๋˜๋Š” ์Šคํ”„๋ ˆ๋“œ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

Math.max.apply(null, [1, 2, 3]); // 3

 

Math.min()

์ „๋‹ฌ๋ฐ›์€ ์ธ์ˆ˜ ์ค‘์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜.

์ธ์ˆ˜๊ฐ€ ์ „๋‹ฌ๋˜์ง€ ์•Š์œผ๋ฉด Infinity ๋ฐ˜ํ™˜

๋ฐฐ์—ด์„ ์ธ์ˆ˜๋กœ ์ „๋‹ฌ๋ฐ›์•„ ๋ฐฐ์—ด์˜ ์š”์†Œ ์ค‘์—์„œ ์ตœ์†Œ๊ฐ’์„ ๊ตฌํ•˜๋ ค๋ฉด Function.prototype.apply ๋ฉ”์†Œ๋“œ ๋˜๋Š” ์Šคํ”„๋ ˆ๋“œ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

Math.min.apply(null, [1, 2, 3]); // 1

apply ๋ฉ”์†Œ๋“œ

์ฒซ ๋ฒˆ์งธ ์ธ์ž๋กœ ๊ฐ์ฒด๋ฅผ ๋„˜๊ฒจ์•ผํ•œ๋‹ค. this์—๋‹ค๊ฐ€ ๊ฐ์ฒด๋ฅผ ๋„ฃ์–ด์•ผํ•˜๋ฏ€๋กœ null์„ ๋„ฃ์–ด์ค€๋‹ค. 

Math.min.apply(null, arr);

 

Number.MAX_SAFE_INTEGER 

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์•ˆ์ „ํ•˜๊ฒŒ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ํฐ ์ •์ˆ˜๊ฐ’

์ž์—ฐ์ˆ˜ N์ด ์ž…๋ ฅ๋˜๋ฉด 1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ํ•ฉ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

์ž…๋ ฅ์„ค๋ช… | ์ฒซ ๋ฒˆ์งธ ์ค„์— 20์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ N์ด ์ž…๋ ฅ๋œ๋‹ค.

์ถœ๋ ฅ์„ค๋ช… | ์ฒซ ๋ฒˆ์งธ ์ค„์— 1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ํ•ฉ์„ ์ถœ๋ ฅํ•œ๋‹ค.

์ž…๋ ฅ์˜ˆ์ œ | 6

์ถœ๋ ฅ์˜ˆ์ œ | 21


ํ’€์ด

1. ํ•จ์ˆ˜ ์•ˆ์— ๋ฐ˜๋ณต๋ฌธ(for๋ฌธ)์„ ์ž‘์„ฑํ•ด์„œ ๋งŒ๋“ ๋‹ค.

2. ๋ฐ›์•„์˜ค๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜ ์•ˆ์—์„œ ๊ฐ’์„ ๊ณ„์† ๋”ํ•˜๋Š” ๋ฐ˜๋ณต์„ ๋งŒ๋“ค์–ด์ค€๋‹ค.

3. ๋ˆ„์ ์œผ๋กœ ๊ณ„์‚ฐ๋˜๊ฒŒ ํ•  ๊ฒƒ

 

์ฒ˜์Œ ์ž‘์„ฑํ•œ ํ•จ์ˆ˜

function sumAll(x){
	let output;
    for(let i = 1; i <= x; i++){
    	output += 1;
    }
    return output;
}

console.log(sumAll(6));

NaN๊ฐ€ ๋‚˜์™”๋‹ค. 

 

์ˆ˜์ •ํ•œ ํ•จ์ˆ˜

function sumAll(x){
	let output = 0; // output์— ๋ˆ„์ ํ•ด์ฃผ๊ธฐ์œ„ํ•ด์„œ 
    for (let i = 1; i <= x; i++) {
    	output += i; // output = output + i
    }
    return output;
}

console.log(sumAll(6));

output์— ๋ˆ„์ ํ•ด์ฃผ๊ธฐ ์œ„ํ•ด์„œ ์ฒ˜์Œ์— 0์œผ๋กœ ํ• ๋‹นํ•œ๋‹ค. 

output = output + i

์šฐํ•ญ ์—ฐ์‚ฐ์„ ๋‹ค ํ•˜๊ณ ๋‚˜์„œ ์ขŒํ•ญ์˜ ๊ฐ’์ด ๊ฐฑ์‹ ๋œ๋‹ค.

1 ← 0 + 1

3 ← 1 + 2

6 ← 3 + 3

10 ← 6 + 4

์ด๋Ÿฐ์‹์œผ๋กœ ๋ˆ„์ ๋˜๋ฉด์„œ ์ง„ํ–‰๋œ๋‹ค.

์—ฐํ•„ 1 ๋‹ค์Šค๋Š” 12์ž๋ฃจ์ž…๋‹ˆ๋‹ค. ํ•™์ƒ 1์ธ๋‹น ์—ฐํ•„์„ 1์ž๋ฃจ์”ฉ ๋‚˜๋ˆ„์–ด ์ค€๋‹ค๊ณ  ํ•  ๋•Œ N๋ช…์ด ํ•™์ƒ์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ํ•„์š”ํ•œ ์—ฐํ•„์˜ ๋‹ค์Šค ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

์ž…๋ ฅ์„ค๋ช… | ์ฒซ ๋ฒˆ์งธ ์ค„์— 1000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ N์ด ์ž…๋ ฅ๋œ๋‹ค.

์ถœ๋ ฅ์„ค๋ช… | ์ฒซ ๋ฒˆ์งธ ์ค„์— ํ•„์š”ํ•œ ๋‹ค์Šค ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์ž…๋ ฅ์˜ˆ์ œ  | 25

์ถœ๋ ฅ์˜ˆ์ œ  | 3


ํ’€์ด

1. 1 ๋‹ค์Šค ๋‹น 12 ์ž๋ฃจ๊ฐ€ ๋“ค์–ด์žˆ๋‹ค. 1์ธ๋‹น 1์ž๋ฃจ ํ•„์š”ํ•˜๋‹ค. n๋ช…์ด๋ฉด n์ž๋ฃจ ํ•„์š”ํ•˜๋‹ค.

2. ํ•™์ƒ์ˆ˜ n๋ช… / 12 -> ๋ฌด์กฐ๊ฑด ์˜ฌ๋ฆผ์„ ํ•ด์ค€๋‹ค. Math.ceil() ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

3. ๋งค๊ฐœ๋ณ€์ˆ˜๋Š” ํ•™์ƒ์ˆ˜

 

์ฒ˜์Œ์— ์ž‘์„ฑํ•œ ํ•จ์ˆ˜

function pencilBox(students){
	let boxes, answer;
	students / 12 = boxes;
	answer = Math.ceil(boxes);
	return answer;
        }
        
console.log(pencilBox(25));

syntaxError ๋ฐœ์ƒ 

students / 12 = boxes์˜ ํ• ๋‹น์ด ์ž˜ ๋ชป๋˜์—ˆ๋‹ค๊ณ  ํ•œ๋‹ค. 

function pencilBox(students){
	let answer, boxes;
	boxes = students / 12
	answer = Math.ceil(boxes);
	return answer;
}
        
console.log(pencilBox(25));

๋‹ค์‹œ ์จ์ฃผ์—ˆ๋”๋‹ˆ ์ž˜ ์‹คํ–‰๋œ๋‹ค. ๊ทธ๋ ‡์ง€๋งŒ ๊ตณ์ด boxes๋ฅผ ๋ณ€์ˆ˜๋กœ ์ž‘์„ฑํ•˜์ง€์•Š์•„๋„ ๋˜์—ˆ๋‹ค. 

 

 

๋‹ค์‹œ ์ˆ˜์ •ํ•œ ํ•จ์ˆ˜

function pencilBox(students){
	let answer;
	answer = Math.ceil(students / 12);
	return answer;
}
        
console.log(pencilBox(25));

boxes๋ฅผ ๋ณ€์ˆ˜๋กœ ์ž‘์„ฑํ•  ํ•„์š”๊ฐ€ ์—†์—ˆ๋‹ค. Math.ceil()์•ˆ์— ๋„ฃ์–ด์ฃผ๋ฉด ๋” ์งง๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

์ด๊ฑฐ๋„ ๊ธธ๋‹ค.

function pencilBox(students){
	let answer = Math.ceil(students/12);
	return answer;
}

console.log(pencilBox(25));

๊ธธ์ด๊ฐ€ ์„œ๋กœ ๋‹ค๋ฅธ A, B, C ์„ธ ๊ฐœ์˜ ๋ง‰๋Œ€ ๊ธธ์ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ์ด ์„ธ ๋ง‰๋Œ€๋กœ ์‚ผ๊ฐํ˜•์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ ์œผ๋ฉด “YES"๋ฅผ ์ถœ๋ ฅํ•˜๊ณ , ๋งŒ๋“ค ์ˆ˜ ์—†์œผ๋ฉด ”NO"๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์ž…๋ ฅ์„ค๋ช… | ์ฒซ ๋ฒˆ์งธ ์ค„์— 100์ดํ•˜์˜ ์„œ๋กœ ๋‹ค๋ฅธ A, B, C ๋ง‰๋Œ€์˜ ๊ธธ์ด๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ์„ค๋ช… | ์ฒซ ๋ฒˆ์งธ ์ค„์— “YES", "NO"๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์ž…๋ ฅ์˜ˆ์ œ 1 | 6 7 11

์ถœ๋ ฅ์˜ˆ์ œ 1 | YES

์ž…๋ ฅ์˜ˆ์ œ 2 | 13 33 17

์ถœ๋ ฅ์˜ˆ์ œ 2 | NO


[ํ’€์ด]

์‚ผ๊ฐํ˜•์„ ๋งŒ๋“œ๋Š” ์กฐ๊ฑด : ๊ฐ€์žฅ ๊ธด ๋ณ€์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ 2๊ฐœ ๋ณ€์˜ ํ•ฉ์ด ๊ฐ€์žฅ ๊ธด ๋ณ€๋ณด๋‹ค ์ปค์•ผํ•œ๋‹ค. 

 

1. ๊ฐ€์žฅ ๊ธด ๋ณ€ ์ฐพ๊ธฐ(max๊ฐ’ ์ฐพ๊ธฐ)

์„ธ ์ˆ˜ ์ค‘์—์„œ ์ตœ์†Ÿ๊ฐ’ ์ฐพ์•˜๋˜ ๋ฐฉ์‹์„ ๊ทธ๋Œ€๋กœ ์“ด๋‹ค.

 

2. ๋‚˜๋จธ์ง€ ๋ณ€ ๋‘ ๊ฐœ์˜ ํ•ฉ ์ฐพ๊ธฐ

๊ฐ€์žฅ๊ธด๋ณ€max๋ณด๋‹ค ๋‚˜๋จธ์ง€ ๋ณ€ ๋‘๊ฐœ์˜ ํ•ฉ์ด ์ปค์•ผํ•œ๋‹ค.

์ดํ•ฉ - max = ๋‚˜๋จธ์ง€ ๋‘ ๋ณ€์˜ ํ•ฉ

์ดํ•ฉ์„ ๋ณ€์ˆ˜๋กœ ์ž‘์„ฑํ•ด์ค€๋‹ค.

 

3. ๋‚˜๋จธ์ง€ ๋ณ€ ๋‘ ๊ฐœ์˜ ํ•ฉ ๋ณด๋‹ค max๊ฐ€ ์ž‘์œผ๋ฉด NO ๋ฆฌํ„ด, ํฌ๋ฉด YES ๋ฆฌํ„ด

 

 

 

๋ฌธ์ œ

100์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ A, B, C๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์„ธ ์ˆ˜ ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ๊ฐ’์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”.

(์ •๋ ฌ์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค)

 

์ž…๋ ฅ์„ค๋ช… | ์ฒซ ๋ฒˆ์งธ ์ค„์— 100์ดํ•˜์˜ ์„ธ ์ž์—ฐ์ˆ˜๊ฐ€ ์ž…๋ ฅ๋œ๋‹ค.

์ถœ๋ ฅ์„ค๋ช… | ์ฒซ ๋ฒˆ์งธ ์ค„์— ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

์ž…๋ ฅ์˜ˆ์ œ | 6 5 11

์ถœ๋ ฅ์˜ˆ์ œ | 5

 

 

ํ’€์ด

๊ฐ€์žฅ ์ž‘์€ ์ˆ˜ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด์„œ A, B, C๋ฅผ ๋น„๊ตํ•ด์„œ ์ž‘์€ ์ˆ˜๋ฅผ ๊ฐ€๋ ค๋‚ธ๋‹ค.

1. A์™€ B๋ฅผ ๋จผ์ € ๋น„๊ตํ•˜๊ณ ,

2. ๊ทธ ์ค‘์— ์ž‘์€ ๊ฐ’์ด๋ž‘ C๋ž‘ ๋น„๊ตํ•ด์„œ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

+ Recent posts