문제풀이

자바스트립트 문제 5 풀이

이미사용 2023. 3. 31. 16:01
명언
-
728x90
반응형

※ 01. 다음의 결과값을  작성하시오.

{
    let num = 0;

    while(false){
        num++;
        if( num == 3 ){
            continue;
        }
        if( num > 10 ){
            break;
        }
    }
    console.log(num);         
}

0

※ 02. 다음의 결과값을  작성하시오.

{
    let a = 6, b = 9, c = 3, result;
    result = ++a + b++ + ++c;

    console.log(result);
    console.log(a+b+c);
}

20

21

※ 03. 결과값을  작성하시오.

{
    function func(){
        let a = [];

        for(i=1; i<=5; i++){
            a += [i];
        }
        console.log(a);
    }
    func();
}

[1,2,3,4,5]

※ 04. 결과값을  작성하시오.

{
    let arr = [3,4,1,4,1,3,4,9,8,3];
        
    for(let i=0; i<10; i++){
        if(i % 3 == 2){
            console.log(arr[i]);
        }
    }
}

1

3

8

 

풀이:

for문에서 let i가 0일때, i<10 일때 까지 i+1을 반복합니다.조건으로 반복할때 마다  i 나누기 3 의 나머지 값이 2일때 arr에 있는 i의 배열값을 가져옵니다.

i가 0 일때, 0나누기3 의 나머지 값은 0 이므로 조건이 안맞아 출력을 하지않습니다.

i가 1 일때, 1나누기3 의 나머지 값은 1 이므로 조건이 안맞아 출력을 하지않습니다.

i가 2 일때, 2나누기3 의 나머지 값은 2 이므로 조건이 맞아 arr[2] = 1를 출력합니다.ㅇ

i가 3 일때, 3나누기3 의 나머지 값은 0 이므로 조건이 안맞아 출력을 하지않습니다.

i가 4 일때, 4나누기3 의 나머지 값은 1 이므로 조건이 안맞아 출력을 하지않습니다.

i가 5 일때, 5나누기3 의 나머지 값은 2 이므로 조건이 맞아 arr[5] = 3를 출력합니다.ㅇ

i가 6 일때, 3나누기3 의 나머지 값은 0 이므로 조건이 안맞아 출력을 하지않습니다.

i가 7 일때, 7나누기3 의 나머지 값은 1 이므로 조건이 안맞아 출력을 하지않습니다.

i가 8 일때, 8나누기3 의 나머지 값은 2 이므로 조건이 맞아 arr[8] = 8를 출력합니다.ㅇ

i가 9 일때, 9나누기3 의 나머지 값은 0 이므로 조건이 안맞아 출력을 하지않습니다.

※ 05. 결과값을  작성하시오.

{
    function func(num1, num2){
        if(num1 > num2) return num1
        else return num2
    }
    console.log(func(17, 23) + func(50, 40))
}

73

 

풀이:

func(num1,num2)의 값을 비교한후 나온 리턴값 끼리 더하는 문제입니다.

func(17,23)을 먼저보면

조건이 17>23 일때 true면 17을 반환하고 false면 23을 반환 합니다. 조건은 false이므로 23을 반환합니다.

func(50,40)을 보면

조건이 50>40 일때 true면 50을 반환하고 false면 40을 반환 합니다.  조건은 true이므로 50을 반환합니다.

그 후 두수를 합하면 73이 나옵니다.

※ 06. 결과값을  작성하시오.

{
    function func(index){
        console.log("함수가 실행되었습니다." + index);
    }
    function callback(num){
        for(let i=0; i<=5; i++){
            num(i);
        }
    }
    callback(func);
}

함수가실행되었습니다.0

함수가실행되었습니다.1

함수가실행되었습니다.2

함수가실행되었습니다.3

함수가실행되었습니다.4

함수가실행되었습니다.5

 

※ 07. 결과값을  작성하시오.

{
    for(let i=1; i<=5; i++){
        console.log(i);

        if(i == 4){
            break;
        }
    }
}

1

2

3

4

 

※ 08. 결과값을  작성하시오.

{
    const arr = [100, 200, 300, 400, 500];

    const text1 = arr.join("*");
    arr.push("600");
    const text3 = arr.join("");
    arr.pop();
    const text4 = arr.join(" ");

    console.log(text1);
    console.log(text3);
    console.log(text4);
}

100*200*300*400*500

100200300400500600

100 200 300 400 500

 

※ 09. 다음의 결과값을  작성하시오.

{
    let a, b = 10;

    for(let i=0; i<5; i++){
        a = i;
        b -= a;
    }
    console.log(a, b)
}

4,0

 

※ 10. 다음의 결과값을  작성하시오.

{
    function func(){
        let i = 10, j = 20, k = 30;
        i /= j;
        j -= i;
        k %= j;

        console.log(i);
        console.log(j);
        console.log(k);
    }
    func();
}

0.5

19.5

10.5

 

※ 11. 다음의 결과값을  작성하시오.

{
    let k = 2;
    let temp;
    for(let i=0; i<=3; i++){
        temp = k;
        k++;
        console.log(temp + "번");
    }
}

2번

3번

4번

5번

 

※ 12. 다음의 결과값을  작성하시오.

{
    let num = 10;
    num += 2;
    num -= 3;
    num *= 5;
    num /= 5;
    num %= 9;
    
    console.log(num)
}

0

 

※ 13. 다음의 결과값을  작성하시오.

{
    let num = [1, 5, 1, 2, 7, 5];
    for(let i=0; i<6; i++){
        if((i+2) % 2 == 0){
            console.log(num[i]);
        }
    }
}

1

1

7

※ 14. 다음의 결과값을  작성하시오.

{
    let num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
    for(let i=0; i<=9; i++){
        switch(num[i] % 2){
            case 1:
                console.log(num[i]);
                break;
            default:
                console.log("**");
        }
    }
}

 

**

1

**

3

**

5

**

7

**

9

※ 15. 다음의 결과값을  작성하시오.

{
    let cnt = 0;
    let sum = 0;
    for(let i=0; i<=7; i++){
        if(i%2 == 1){
            cnt++;
            sum += i;
        }
    }
    console.log(cnt + ", "+sum/2);
}

4, 8

 

※ 16. 다음의 결과값을  작성하시오.

{
    let data = [70, 80, 75, 60, 90];
    let best = 1;
    let score = 0;

    for(let i=0; i<data.length; i++){
        if(data[i]>=80) {
            best++;
        }
        if(score < data[i]) {
            score = data[i];
        }
    }

    console.log(best, score)
}

3, 90

 

※ 17. 다음의 결과값을  작성하시오.

{
    let a, b, result;
    a = 7, b = 4
    result = a | b;

    console.log(result)
}

7

 

※ 18. 다음의 결과값을  작성하시오.

{
    function solution(a, b, c){
        let answer = "YES", max;
        let total = a + b + c;

        if(a > b) max = a;
        else max = b;
        if(c > max) max = c;
        if(total-max <= max) answer = "NO"; 
        
        return answer;
    }

    console.log(solution(53, 93, 107));
}

YES

 

※ 19. 다음의 결과값을  작성하시오.

{
    function solution(a, b, c){
        let answer;
        if(a < b) answer = a;
        else answer = b;
        if(c <= answer) answer = c; 
        return answer;
    }
    console.log(solution(15, 12, 11));
}

11

 

※ 20. 다음의 결과값을  작성하시오.

{
    function solution(day, arr){
        let answer = 0;
        for(let x of arr){
            if(x % 10 == day) answer++;
        }
        return answer;
    }
    
    arr = [25, 23, 11, 47, 53, 17, 33, 40];
    console.log(solution(0, arr));
}

1