Winnie The Pooh Bear 자바스크립트 시험 오답

배움기록/JAVASCRIPT

자바스크립트 시험 오답

코딩은 처음이라 2023. 3. 31. 15:59

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

- Frederick Philips Brooks
Mythical Man-Month 저자
728x90
반응형

자바스크립트 시험 4(재시험) 오답

 

 

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
 

05.

{
    function func(num1, num2){
        if(num1 > num2)return num1
        else return num2
    }
    console.log(func(17,23) + func(50,40))
}
✨ 정답보기
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 text2 = arr.join("");
    arr.pop();
    const text4 = arr.join(" ");

    console.log(text1);
    console.log(text2);
    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.(X)

{
    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.(X)

{
    let k =2;
    let temp;
    for(let i=0; i<=3; i++){
        temp = k;
        k++;
        console.log(temp + "번");
    }
}
✨ 정답보기
2번,3번,4번,5번
 
 

12.(X)

{
    let num = 10;
    num += 2;
    num -= 3;
    num *= 5;
    num /= 5;
    num %= 9;

    console.log(num);
}
✨ 정답보기
0
 
 
 
 
 

13.(X)

{
    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
 
📑 풀이
 
for문이 시작되어
i를0으로 초기화 하고, 7까지 반복한다.
for문 내부에서 i를 2로 나눈 나머지가 1인 홀수인 경우에 cnt 변수를 1 증가시키고, sum 변수에 i 값을 더합니다.
for문이 모두 실행된 후에는 cnt 변수는 7까지의 홀수 개수가 된다.
따라서 1부터7까지의 홀수의 합이 되고,
 
cnt와 sum/2의 값을 출력
 
 
 
 

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
 
📑 풀이
 
80보다 크거나 같은 값이 2개가 있으므로 3
 
score변수를 선언, 초기값을 0으로 할당.
이 변수는 가장 높은 점수를 저장하기 위해 사용
 
for문이 시작되면서 i를 0으로 초기화시키고
data배열의 길이보다 작을때까지 반복, i를 1씩 증가
 
 
 

17.

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

    console.log(result)
}
✨ 정답보기
 7
 
📑 풀이
 
a와 b를 이진수로 변환
각 자리의 비트를 OR연산한다.
결과를 10진수로 변환한다.
 
 

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
 
 
 
 
 
 
 
 
 
 
 

 

반응형