์นดํ…Œ๊ณ ๋ฆฌ ์—†์Œ

์˜ค๋‹ต๋…ธํŠธ

aimee418 2023. 5. 1. 03:39

โ€œ ์ง€์—ฐ๋˜๋Š” ํ”„๋กœ์ ํŠธ์— ์ธ๋ ฅ์„ ๋” ํˆฌ์ž…ํ•˜๋ฉด ์˜คํžˆ๋ ค ๋” ๋Šฆ์–ด์ง„๋‹ค. โ€

- Frederick Philips Brooks
Mythical Man-Month ์ €์ž
728x90
๋ฐ˜์‘ํ˜•

01.

{
    let i = 0;
    let sum = 0;
    
    while(i < 10){
        i = i+1;
        if( i % 3 == 0) sum -= i;
        if( i % 3 == 1) sum += i;
        if( i % 3 == 2) sum *= i 
    }

    console.log(sum) 
}

๐Ÿด. ์ •๋‹ต . 129

 

๐Ÿ. ํ•ด์„ค

์ด ์ฝ”๋“œ๋Š” 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ์ˆ˜๋ฅผ 3์œผ๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 0, 1, 2์ธ ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ๊ฐ๊ฐ ๋‹ค๋ฅธ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ๊ทธ ๊ฒฐ๊ณผ๋ฅผ ํ•ฉ์‚ฐํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
โ–ถ ๋ณ€์ˆ˜ i๋Š” 0์œผ๋กœ ์ดˆ๊ธฐํ™”๋˜๊ณ , while๋ฌธ์„ ํ†ตํ•ด i๊ฐ€ 10๋ณด๋‹ค ์ž‘์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.
โ–ถ ๋ฐ˜๋ณต๋ฌธ ์•ˆ์—์„œ๋Š” i๋ฅผ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ, i๋ฅผ 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€์— ๋”ฐ๋ผ์„œ ๋‹ค๋ฅธ ๊ณ„์‚ฐ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
โ–ถ i๋ฅผ 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 0์ธ ๊ฒฝ์šฐ, ํ˜„์žฌ์˜ sum์— i๋ฅผ ๋นผ์ค๋‹ˆ๋‹ค.
โ–ถ i๋ฅผ 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 1์ธ ๊ฒฝ์šฐ, ํ˜„์žฌ์˜ sum์— i๋ฅผ ๋”ํ•ด์ค๋‹ˆ๋‹ค.
โ–ถ i๋ฅผ 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 2์ธ ๊ฒฝ์šฐ, ํ˜„์žฌ์˜ sum์— i๋ฅผ ๊ณฑํ•ด์ค๋‹ˆ๋‹ค.
โ–ถ ๋ฐ˜๋ณต๋ฌธ์„ ๋ชจ๋‘ ์‹คํ–‰ํ•œ ํ›„์—๋Š” ์ตœ์ข…์ ์œผ๋กœ ๊ณ„์‚ฐ๋œ sum์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
โ–ถ ๋”ฐ๋ผ์„œ ์ด ์ฝ”๋“œ์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๋Š” 129์ž…๋‹ˆ๋‹ค.

 

 

02.

{
    let num = [10, 20, 30, 40, 50];
    let i, max, min;
    max = min = num[0];

    for(i=0; i<5; i++){
        if(num[i] > max) max = num[i];
        if(num[i] < min) min = num[i];
    }

    console.log(max, min);
}

๐Ÿด. ์ •๋‹ต . 50  10

 

๐Ÿ. ํ•ด์„ค

์ด ์ฝ”๋“œ๋Š” ์ฃผ์–ด์ง„ 5๊ฐœ์˜ ์ˆ˜ ์ค‘์—์„œ ๊ฐ€์žฅ ํฐ ์ˆ˜์™€ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ์ฐพ์•„ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
โ–ถ ๋ฐฐ์—ด num๊ณผ ๋ณ€์ˆ˜ i, max, min์„ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค.
โ–ถ max์™€ min์„ ๋ฐฐ์—ด์˜ ์ฒซ ๋ฒˆ์งธ ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
โ–ถ ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•ด ๋ฐฐ์—ด num์—์„œ ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ์ฝ์–ด์˜ต๋‹ˆ๋‹ค.
โ–ถ ์ฝ์–ด์˜จ ๊ฐ’์ด max๋ณด๋‹ค ํฌ๋ฉด max๋ฅผ ํ•ด๋‹น ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
โ–ถ ์ฝ์–ด์˜จ ๊ฐ’์ด min๋ณด๋‹ค ์ž‘์œผ๋ฉด min์„ ํ•ด๋‹น ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค.
โ–ถ ๋ชจ๋“  ๊ฐ’์„ ์ฝ์–ด์˜จ ํ›„ max์™€ min์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
โ–ถ ๋”ฐ๋ผ์„œ, ์ด ์ฝ”๋“œ์˜ ์ถœ๋ ฅ์€ ์ฃผ์–ด์ง„ ๋ฐฐ์—ด num์—์„œ ๊ฐ€์žฅ ํฐ ์ˆ˜ 50๊ณผ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜ 10์ด ๋ฉ๋‹ˆ๋‹ค.

 

 

03.

{
    function func(begin, diff, n){
        cnt = 1;
        ret = begin;
        while(true){
            cnt += 1;
            ret *= diff;
            if(cnt == n) return ret;
        }
    }

    console.log(func(1, 3, 4));
}

๐Ÿด. ์ •๋‹ต . 27

 

๐Ÿ. ํ•ด์„ค

์ด ์ฝ”๋“œ๋Š” ๋“ฑ๋น„์ˆ˜์—ด์—์„œ n๋ฒˆ์งธ ํ•ญ์„ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ํ˜ธ์ถœํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
๋“ฑ๋น„์ˆ˜์—ด์ด๋ž€ ๊ฐ ํ•ญ์ด ์•ž ํ•ญ์— ์ผ์ •ํ•œ ๋น„(r)๋ฅผ ๊ณฑํ•œ ์ˆ˜์—ด์ž…๋‹ˆ๋‹ค. ์ด ์ˆ˜์—ด์˜ ์ผ๋ฐ˜ํ•ญ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.
โ–ถ an = a1 * r^(n-1)
โ–ถ ์—ฌ๊ธฐ์„œ a1์€ ์ฒซ์งธ ํ•ญ์ด๊ณ , r์€ ๊ณต๋น„, n์€ ๋ช‡ ๋ฒˆ์งธ ํ•ญ์ธ์ง€๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
โ–ถ ์œ„ ์ฝ”๋“œ์—์„œ func ํ•จ์ˆ˜๋Š” ์ฒซ์งธ ํ•ญ(begin), ๊ณต๋น„(diff), ๋ช‡ ๋ฒˆ์งธ ํ•ญ(n)์„ ์ธ์ž๋กœ ๋ฐ›์Šต๋‹ˆ๋‹ค. 

โ–ถ ์ด ํ•จ์ˆ˜๋Š” while๋ฌธ์„ ์ด์šฉํ•˜์—ฌ cnt๋ฅผ 1๋ถ€ํ„ฐ n๊นŒ์ง€ ์ฆ๊ฐ€์‹œํ‚ค๋ฉด์„œ, ret์— diff๋ฅผ ๊ณฑํ•œ ๊ฐ’์„ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. 

โ–ถ ๊ทธ๋ฆฌ๊ณ  cnt๊ฐ€ n์ด ๋˜๋ฉด ret ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
โ–ถ ๋”ฐ๋ผ์„œ func(1, 3, 4)๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์ฒซ์งธ ํ•ญ์ด 1, ๊ณต๋น„๊ฐ€ 3์ธ ๋“ฑ๋น„์ˆ˜์—ด์—์„œ ๋„ค ๋ฒˆ์งธ ํ•ญ์„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด๋ฏ€๋กœ, 
โ–ถ a1 = 1, r = 3
โ–ถ a4 = a1 * r^(4-1) = 1 * 3^3 = 27
โ–ถ ๋”ฐ๋ผ์„œ console.log(func(1, 3, 4))์˜ ๊ฒฐ๊ณผ๋Š” 27์ด ๋ฉ๋‹ˆ๋‹ค.

 

 

04.

{
    let i = 0;
    let sum = 0;
    while(i < 10){
        i = i + 1;
        if(i % 2 == 0){
            continue
        }
        sum += i;
    }

    console.log(sum)
}

๐Ÿด. ์ •๋‹ต . 25

 

๐Ÿ. ํ•ด์„ค

์ด ์ฝ”๋“œ๋Š” 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ์ •์ˆ˜ ์ค‘ ํ™€์ˆ˜๋งŒ ๋”ํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
โ–ถ i์™€ sum ๋ณ€์ˆ˜๊ฐ€ ์ดˆ๊ธฐํ™”๋œ ํ›„, while ๋ฃจํ”„๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. 

โ–ถ i๋Š” 1์—์„œ ์‹œ์ž‘ํ•˜์—ฌ, ๋งค ๋ฐ˜๋ณต๋งˆ๋‹ค 1์”ฉ ์ฆ๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. 

โ–ถ if๋ฌธ์—์„œ i๊ฐ€ ์ง์ˆ˜์ธ ๊ฒฝ์šฐ์—๋Š” continue๊ฐ€ ์‹คํ–‰๋˜์–ด ํ•ด๋‹น ๋ฐ˜๋ณต์„ ๊ฑด๋„ˆ๋œ๋‹ˆ๋‹ค. 

โ–ถ ๋”ฐ๋ผ์„œ, ์ง์ˆ˜์ธ ๊ฒฝ์šฐ sum์€ ๋ณ€ํ•˜์ง€ ์•Š๊ณ , ํ™€์ˆ˜์ธ ๊ฒฝ์šฐ์—๋งŒ sum์— i๋ฅผ ๋”ํ•ฉ๋‹ˆ๋‹ค.
โ–ถ ๋ฃจํ”„๊ฐ€ ๋๋‚˜๋ฉด sum์— ๋”ํ•ด์ง„ ๊ฐ’์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, 1+3+5+7+9=25๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

 

 

05.

{
    let num = [56, 4, 3, 65, 78];
    let temp;

    for(let i=0; i<1; i++){
        for(let j=0; j<num.length-i-1; j++){
            if(num[j]>num[j+1]){
                temp = num[j];
                num[j] = num[j+1];
                num[j+1] = temp;
            }
        }
    }

    console.log(num)
}

๐Ÿด. ์ •๋‹ต . 4, 3, 56, 65, 78

 

 

 

06.

{
    let num = [56, 4, 3, 65, 78];
    let min = 9999;

    for(let i=0; i<10; i++){
        if(min > num[i]){
            min = num[i];
        }
    }

    console.log(min)
}

๐Ÿด. ์ •๋‹ต . 3

 

 

 

07.

{
    let num = [3, 4, 5, 7, 8];
    let temp;

    for(let i=0; i<=3; i++){
        for(let j=i+1; j<=4; j++){
            if(num[i] < num[j]){
                temp = num[i];
                num[i] = num[j];
                num[j] = temp;
            }
        }
    }

    console.log(num);
}

๐Ÿด. ์ •๋‹ต . 8, 7, 5, 4, 3

 

 

08.

{
    let num = [1,2,3,4,5];
    let sum = 1;
    
    function func(arr){
        for(let i=0; i<arr.length; i++) {
            sum += arr[i];
        }

        for(let i=0; i<arr.length; i++){
            if(arr[i] % 2 == 0) sum -= arr[i];
        }
        return sum;            
    }

    console.log(func(num));
}

๐Ÿด. ์ •๋‹ต . 10

 

 

09.

{
    let num = ["0","1","2","3","4","5","6","7","8","9"];
    let sum = 100;

    for(let i=0; i<num.length; i++){
        num[i] = i+1;
    }
    for(let i=0; i<num.length; i++){
        if(i % 3 == 1){
            sum -= num[i];
        }
    }
    console.log(sum)
}

๐Ÿด. ์ •๋‹ต . 85

 

๐Ÿ. ํ•ด์„ค

ํ•ด๋‹น ์ฝ”๋“œ๋Š” 1๋ถ€ํ„ฐ 10๊นŒ์ง€์˜ ์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฐฐ์—ด num์„ ์ƒ์„ฑํ•˜๊ณ , ๋ฐฐ์—ด ์š”์†Œ๋“ค ์ค‘ 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 1์ธ ์š”์†Œ๋ฅผ ์ฐพ์•„ ๊ทธ ๊ฐ’์„ sum์—์„œ ๋นผ๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.
โ–ถ num ๋ฐฐ์—ด์˜ ๊ฐ’์„ ์ˆซ์ž๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.
โ–ถ sum ๋ณ€์ˆ˜๋ฅผ 100์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
โ–ถ num ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ, ํ˜„์žฌ ์ธ๋ฑ์Šค๋ฅผ 3์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๊ฐ€ 1์ธ ๊ฒฝ์šฐ ํ•ด๋‹น ์š”์†Œ๋ฅผ sum์—์„œ ๋บ๋‹ˆ๋‹ค.
โ–ถ 100 + 1 + 3 + 4 + 6 + 7 + 9 + 10 - 2 - 5 - 8=85์ž…๋‹ˆ๋‹ค.

 

 

 

10.

{
    let arr = [1,2,3,4,5];
    let temp = [1,2,4,6,8];
    let idx = 0;
    let flag = true;

    for(let i=0; i<arr.length; i++){
        flag = false;
        if(arr[i] == temp[i]){
            flag = true;
        }
        if(!flag){
            temp[idx++] = arr[i];
            console.log(temp[idx]);
        }
    }
}

๐Ÿด. ์ •๋‹ต . 2, 4, 6

 

11.

{
    let num = [30,40,24,80,99];
    let min = 9999;

    for(let i=0; i<5; i++){
        if(min > num[i]){
            min = ________;
        }
    }

    console.log("์ตœ์†Œ๊ฐ’ : ", min);
}

12.

{
    let s1 = "Remember november";
    let s2 = s1.slice(0, 3) + s1.slice(12, 16);
    let s3 = "r AND you";

    console.log(s2 + s3)
}

13.

{
    let x = 1;

    console.log( !(x>0) );
    console.log( x>0 || x<4 );
    console.log( x<<2 );
    console.log( x&2 );
    console.log( x&3 );
}

14.

{
    let num = 0;
    let i = 1;

    while(i<=50){
        if(i%7 == 0){
            num += i;
        }
        i++;
    }
    console.log(num)
}

๐Ÿด. ์ •๋‹ต . 196

 

๐Ÿ. ํ•ด์„ค

์ด ์ฝ”๋“œ๋Š” 1๋ถ€ํ„ฐ 50๊นŒ์ง€์˜ ์ˆ˜ ์ค‘ 7์˜ ๋ฐฐ์ˆ˜์ธ ์ˆ˜๋“ค์˜ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
โ–ถ ์šฐ์„  ๋ณ€์ˆ˜ num๊ณผ i๋ฅผ ๊ฐ๊ฐ 0๊ณผ 1๋กœ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.
โ–ถ while ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•ด i๊ฐ€ 50๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค.
โ–ถ ๋ฐ˜๋ณต๋ฌธ ์•ˆ์—์„œ i๋ฅผ 1์”ฉ ์ฆ๊ฐ€์‹œํ‚ต๋‹ˆ๋‹ค.
โ–ถ if ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ i๊ฐ€ 7์˜ ๋ฐฐ์ˆ˜์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ 7์˜ ๋ฐฐ์ˆ˜์ด๋ฉด num์— i๋ฅผ ๋”ํ•ฉ๋‹ˆ๋‹ค.
โ–ถ i๊ฐ€ 50 ์ดํ•˜์ธ ๋ชจ๋“  ์ˆ˜์— ๋Œ€ํ•ด ์ด ์ž‘์—…์„ ๋ฐ˜๋ณตํ•œ ํ›„, num์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
โ–ถ ๋”ฐ๋ผ์„œ ์ด ์ฝ”๋“œ์˜ ๊ฒฐ๊ณผ๋Š” 7์˜ ๋ฐฐ์ˆ˜์ธ 7, 14, 21, 28, 35, 42, 49๋ฅผ ๋”ํ•œ 196์ž…๋‹ˆ๋‹ค

 

15.

{
    let result = 0;
    for(let i=1; i<999; i++){
        if(i%3==0 && i%2 !=0){
            result = i;
        }
    }
    console.log(result);
}

16.

{
    function func(num){
        if(num <= 1){
            return 1;
        } else {
            return num + func(num - 2);
        }
    }
    function main(){
        let num = 5;
        console.log(func(num))
    }
    main();
}

๐Ÿด. ์ •๋‹ต . 7

 

๐Ÿ. ํ•ด์„ค

17.

{
    let a=1, b=1, num;

    for(let i=0; i<6; i++){
        num = a + b;
        a = b;
        b = num;
    }
    console.log(num)
}

๐Ÿด. ์ •๋‹ต . 7

 

๐Ÿ. ํ•ด์„ค