코딩/오답노트,마무리 문제

자바스크립트와 정보처리기능사 문제 오답노트!

다쭐◠‿◠ 2023. 4. 28. 11:18

오늘은 7,8번에서 응용한 문제기 때문에 모든 문제 다 적지않고, 틀린 문제만 적겠습니다!

 

자바스크립트 오답노트

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

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

    console.log(sum) 
}

👊정답 :  190

오답노트

while 루프는 i가 10보다 작을 때까지 반복됩니다.

루프 내부에서는 먼저 i를 1씩 증가시키고, 그 후에 i를 4로 나눈 나머지에 따라서 sum 값을 조정합니다.

i를 1 증가시키고, i가 4로 나누어 떨어질 때(i % 4 == 0), sum에서 i를 뺍니다.
i를 4로 나눈 나머지가 1일 때(i % 4 == 1), sum에 i를 더합니다.
i를 4로 나눈 나머지가 2일 때(i % 4 == 2), sum에 i를 곱합니다.

 

디버깅

i i%4 연산 sum
1 1 + 1
2 2 * 2
3 3 패스!  
4 0 - -2
5 1 + 3
6 2 * 18
7 3 패스!  
8 0 - 10
9 1 + 19
10 2 * 190

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

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

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

👊정답 :  1

오답노트

while(0)은 항상 거짓이므로, 이 함수는 항상 ret의 초기값인 begin을 반환합니다. 따라서 console.log(func(1, 3, 4));의 결과는 1이 됩니다.

 

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

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

    console.log(sum)
}

👊정답 :  25

오답노트

while문을 사용하여 i를 1부터 10까지 1씩 증가시키면서, i가 짝수일 때는 continue문을 사용하여 다음 루프로 넘어가고, i가 홀수일 때는 sum에 더해줍니다.

따라서, sum의 값은 1 + 3 + 5 + 7 + 9 = 25가 됩니다.

디버깅

i i%2  sum
1 1 1
2 0  
3 1 4
4 0  
5 1 9
6 0  
7 1 16
8 0  
9 1 25
10 0  

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 );
}

👊정답 :  false, true, 4, 0, 1

오답노트

!(x > 0)의 결과인 false를 출력합니다.
x > 0은 참이므로 true를 출력합니다.
x << 2는 x를 2진수로 나타낸 후 좌측으로 2비트 쉬프트하면서 남은 비트를 0으로 채웁니다. 이 경우 1을 2진수로 나타내면 0001이므로, 000100이 됩니다. 이진수에서 2진수로 변환한 후, 이를 10진수로 다시 표현하면 4가 됩니다.
x & 2는 x와 2를 이진수로 나타내었을 때, 같은 자리에 있는 비트를 AND 연산합니다. 1을 2진수로 나타내면 0001이고, 2를 2진수로 나타내면 0010이므로, x & 2는 0000이 됩니다. 이를 10진수로 표현하면 0이 됩니다.
x % 3은 1을 3으로 나눈 나머지를 구합니다. 따라서 1이 출력됩니다.

 

정보처리기능사 오답노트

02. 다음이 설명하는 용어를 작성하시오.

이것은 네트워로 연결된 두 호스트 사이에서 연결할 수 있는지 점검하는 진단도구이다. 이 명령을 실행하면 ICMP Echo 반향 패킷을 이용하여 원격 IP 주소에 송신하고 ICMP 응답을 기다린다.

👊정답 :  비트로커

728x90
반응형