공부하기

3.10 TEST 오답노트

Hyeon been 2023. 3. 10. 10:49

한번씩 읽고 가세요.

“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”

- Frederick Philips Brooks
Mythical Man-Month 저자
728x90

01. 결괏값을 작성하시오.

{
    if( null ){
        console.log("true");
    } else {
        console.log("false");
    }
}

정답: false

02. 결괏값을 작성하시오. 

{
    let num = 0;
    while( num <= 5 ){
        num++;
        console.log(num);  
    }
}

정답: 1,2,3,4,5,6

해설: 0부터 5까지의 반복문이지만 num++때문에 1부터 반복하여 1부터 6까지의 결과가 나온다.

03. 결괏값을 작성하시오.

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

    str.forEach(function(i){
        console.log(i);
    });
}

정답:

04. 결괏값을 작성하시오.

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

    for(let i of str){
        console.log(i);
    }
}

정답:

05. 결괏값을 작성하시오. 

{
    const obj = {
        a: 100, 
        b: 200
    };

    for(let key in obj) { 
        console.log(key);
        console.log(obj[key]);
    }
}

정답:

a

100

b

200

해설: for...in 루프는 객체의 모든 열거 가능한 속성을 반복하며, 객체의 속성 이름을 순회할 수 있는 루프입니다.

console.iog(key)에선 키값인 a,b나오고

console.iog(obj[key])에서는 key는 각 키값을 의미해 obj.a  ,obj.b로 생각 할 수  있습니다.

 

06. 결괏값을 작성하시오.

{
    let num = 0;

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

정답: 1,2,4,5,6

해설: while문으로 0에서 부터 반복을 시작하지만 num++ 이 있기 때문에 1부터 반복을 시작한다.

반복을 시작하면서 if문의 조건인 num == 3이 맞으면 continue 이기 때문에 3을 건너뛴 후 다시 반복하여  num > 6의 조건문과 break 때문에 6에서 멈춘다 그래서 정답은 3을 건너뛰고 6에서 멈춤  12456이 정답이다.

07. 결괏값을 작성하시오.

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

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

정답: 1,2,3

해설: 1에서 5까지 반복을 실행 하였지만  if문의 조건 i==3 break 때문에 123까지만 반복.

08. 결괏값을 작성하시오.

{
    let num = 0;

    while (num < 20){
        num++;
        console.log(num);

        if(num == 1){
            break;
        }
    }
}

정답: 1

해설: num = 0 이기 때문에 0부터 반복을 시작해야하지만 num++ 때문에 1부터 반복을 시작하며 if문 num == 1 break 라는 조건문 때문에 1에서 멈춘다. 그래서 정답은 1이다.

 

09. 결괏값을 작성하시오.

{
    let num = 100;

    switch(num){
        case 100 : 
            console.log("100");
            break;
        case 200 : 
            console.log("200");
            break;
        default :
            console.log("300");
    }
}

정답:

10. 결괏값을 작성하시오.

{
    func = () => {
        const str = "함수가 실행되었습니다.";
        return str;
    }

    console.log(func());
}

정답:

11. 결괏값을 작성하시오.

{
    let direct = 1;

    function gallery(num){
        if(num){
            if(num == 2) direct++;
        } else {
            if(num == 1) direct--;
        }
    }
    gallery(2);

    console.log(direct);
}

정답:  2

해설: direct =1 이고 gallery는 2  num 은 2이기 때문에 조건문 num == 2는 direct++ 을 충족시켜 direct 에 1이 증가한 2가 된다. 

 

12. 결괏값을 작성하시오.

{
    let sum = 0;
    for(var i=1; i<=100; i++) {
        sum += i;
    };
    console.log(sum);
}

정답:

13. 다음의 결괏값을 보고 빈칸을 작성하시오!

{
    const obj = {
        a: 100,
        b: 200,
        c: "javascript"
    }
    const { a:_____, b:_____, c:_____ } = obj;

    document.write(name1);
    document.write(name2);
    document.write(name3);

    //100
    //200
    //javascript
}

정답:

14. 다음의 결괏값을 보고 빈칸을 작성하시오!

{
    const obj = {
        a: 100,
        b: 200,
        c: "javascript"
    }
    const { a, b, c } = _______;

    document.write(a);
    document.write(b);
    document.write(c);

    //100
    //200
    //javascript
}

정답:

15. 다음의 결괏값을 작성하시오!

{
    const objA = {
        a: 100,
        b: 200
    }
    const objB = {
        c: "javascript",
        d: "jquery"
    }
    const spread = {...objA, ...objB}

    document.write(spread.a);
    document.write(spread.b);
    document.write(spread.c);
    document.write(spread.d);
}

정답:

16. 다음의 결괏값을 작성하시오!

{
    const char = ["J","A","V","A","S","C","R","I","P","T"];

    for(let i=9; i>=0; i--){
        console.log(char[i]);
    }
}

정답:

17. 다음의 결괏값을 작성하시오!

{
    let a = 1, b = 2, c = 3, result;
    result = ++a + b++ + ++c;

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

정답:

18. 다음의 결괏값을 작성하시오!

{
    let i = 1;

    while(i > 5){
        console.log(i);
        i++;
    }
    console.log(i);
}

정답:

19. 다음의 결괏값을 작성하시오!

{
    let num = [32, 93, 15, 86, 50];
    let sum = 0;

    for(let i=0; i > num.length; i++){
        sum = sum * i;
    }

    console.log(sum)
}

정답:

20. 다음의 결괏값을 작성하시오!

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

    console.log(result)
}

정답: 4

해설: 비트연산자 & 는 1:1=1,0:1=0,1:0=0,0:0=0 이기 때문에   0100의 십진수인 4가 정답이다.