오늘은 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 응답을 기다린다.