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

배움기록/JAVASCRIPT

자바스크립트 시험 4 오답

코딩은 처음이라 2023. 3. 24. 17:49

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

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

자바스크립트 시험 4 오답

 

 

 

01.

{
    const str = "javascript";

    const text = str.indexOf("a");
    const text2 = str.lastIndexOf("a");
    const text3 = str.includes("a");

    console.log(text);
    console.log(text2);
    console.log(text3);
}
✨ 정답보기
 1, 3, true
 

02.

{
    function func(){
        document.write("함수2가 실행되었습니다.");
    }
    function callback(str){
        document.write("함수1가 실행되었습니다.");
        _______();
    }
    callback(func);

    //함수1가 실행되었습니다.
    //함수2가 실행되었습니다.
}
✨ 정답보기
 str

 

03.

{
    function func(a, b){
        console.log(arguments[0]);
        console.log(arguments[1]);
    }
    func("1", "2");
}
✨ 정답보기
 1,2
 
 
 
 
 
 
 
 
 

04.

{
    function func(num, name, word){
        this.num = num;
        this.name = name;
        this.word = word;
    }
    
    func.prototype = {
        result1 : function(){
            console.log(this.num + ". " + this.name + "가 "+ this.word + "되었습니다.");
        },
        result2 : function(){
            console.log(this.num + ". " + this.name + "가 "+ this.word + "되었습니다.");
        },
        result3 : function(){
            console.log(this.num + ". " + this.name + "가 "+ this.word + "되었습니다.");
        }
    }
    
    const info1 = new func("1", "함수", "실행");
    const info2 = new func("2", "자바스크립트", "실행");
    const info3 = new func("3", "제이쿼리", "실행");
    
    info1.result1();
    info2.result2();
}
✨ 정답보기
 1.함수가 실행되었습니다. 2.자바스크립트가 실행되었습니다.
 

05.

{
    function func(num, name, word){
        this.num = num;
        this.name = name;
        this.word = word;
    }

    func.prototype.result = function(){
        console.log(this.num + ". " + this.name + "가 "+ this.word + "되었습니다.");
    }

    const info1 = new func("1", "함수", "실행");
    const info2 = new func("2", "자바스크립트", "실행");
    const info3 = new func("3", "제이쿼리", "실행");

    info1.result();
}
✨ 정답보기
 1. 함수가 실행되었습니다.
 

06.(X)

{
    function func(index){
        console.log("함수가 실행되었습니다." + index);
    }
    function callback(num){
        for( let i=1; i<=1; i++){
            num(i);
        }
    }
    callback(func);
}
✨ 정답보기
 함수가 실행되었습니다.1
 
📑 풀이
 
callback 함수에서 func 함수를 매개변수로 받고, for문에서 fnuc 함수를 1번 호출합니다.
func 함수는 매개변수 index를 받아 실행되며, 실행될 때마다 "함수가 실행되었습니다." 와 index값이 출력됩니다.
callback 함수를 호출 할 때, func 함수를 인자로 전달하여 실행합니다.
 
 

07.

{
    let num = 1;

    do {
        num++;
        console.log("실행되었습니다.");
    } while (num <= 5);

}
✨ 정답보기
 실행되었습니다. X5
 
 
 
 
 
 
 
 

08.(X)

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

    const text1 = arr.join("*");
    const text2 = arr.join("-");
    const text3 = arr.join("");
    const text4 = arr.join(" ");

    console.log(text1);
    console.log(text2);
    console.log(text3);
    console.log(text4);
}
✨ 정답보기
 100*200*300*400*500 / 100-200-300-400-500 / 100200300400500 / 100 200 300 400 500
 
📑 풀이
arr을 이용하여 join()메소드를 사용해 문자열을 생성하고, 이를 출력하는 코드입니다.
join() 메소드는 배열의 모든 요소를 문자열로 반환한 후, 인자로 전달된 구분자를 사용하여 이어 붙인 문자열을 반환합니다. 만약 인자로 아무것도 전달하지 않으면, 기본적으로 쉼표가 구분자로 사용됩니다.
 
 

09.

{
    function func(str){
        return str;
    }
    func("함수가 실행되었습니다.")
}
✨ 정답보기
 func = str => str;
 

10.(X)

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

        console.log(i);
        console.log(j);
        console.log(k);
    }
    func();
}
✨ 정답보기
 1, 9, 3
 
📑 풀이
변수에 대해 각각의 연산을 수행하고 결과를 출력하는 코드입니다.
func() 함수가 실행될 때, 먼저 변수 i와 j의 값을 나누기 연산자 /=를 사용하여 나누고,
나눈 값을 다시 i에 할당합니다.
 
i와 j의 초기값이 모두 10이므로 i는 1이 되고
 
변수 j 에서 i를  뺄셈 연산자 -=를 사용해 배고, 결과를 다시 j에 할당합니다.
 
이 경우 j의 초기값이 10이므로 j는 9가 됩니다.
 
마지막 변수 k도 마찬가지 입니다.
% 연산자를 사용해 나눈 나머지 값을 k에 할당합니다.
 
 
 

11.(X)

{
    let k = 0;
    let temp;
    for(let i=0; i<=3; i++){
        temp = k;
        k++;
        console.log(temp + "번");
    }
}
✨ 정답보기
 0번, 1번, 2번, 3번
 
📑 temp변수에 k의 값을 할당합니다.
이후 k값을 1 증가시키고, 이전 값인 temp와 함께 출력합니다.
 
처음 반복문이 실행될 때, k는 0이므로 temp에 0이 할당되고 0번이 출력됩니다.
이후 k의 값이 1 증가하여 1이 됩니다.
 
두번째는 k는 1이므로, temp에 1이 할당, 1번이 출력
이후k의 값이 1 증가하여 2가 됩니다.
 
3번까지 반복 되면서출력됩니다.
 

12.(X)

{
    let num1 = 3;
    let num2 = 7;
    if(++num1 < 5 || ++num2 > 8){
        console.log(num1);
    }
    console.log(num2)
}
✨ 정답보기
 4, 7
 
📑 풀이
++num1 값은 4
4<5 는 true 
 
++num 값은 8
8>8 은 false
 
||은 or
하나만 같으면 true
 
따라서 num1은 4
num2는 false라 그대로 7

13.(X)

{
    let num = [1, 5, 1, 2, 7, 5];
    for(let i=0; i<6; i++){
        if((i+1) % 2 == 0){
            console.log(num[i]);
        }
    }
}
✨ 정답보기
 5, 2, 5
 
📑 풀이
num 에서 인덱스가 짝수인 원소만 출력하는 코드입니다.
for문을 이용하여 0부터 5까지 반복
if조건문에서 (i+1) % 2 == 0 을 검사
이 조건문은 인덱스 i+1이 짝수인 경우 true이므로 이때 해당 원소를 출력합니다.
 
num의 2번째 4번째 6번째 원소가 출력
 

14.(X)

{
    let num = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
    for(let i=9; i>=0; i--){
        switch(num[i] % 2){
            case 1:
                console.log(num[i]);
                break;
            default:
                console.log("*");
        }
    }
}
✨ 정답보기
 9*7*5*3*1
 
📑 풀이
 
배열 num에서 역순으로 반복하면서, 각 원소가 홀수인 경우 해당 원소를 짝수인 경우에는 * 문자를 출력하는 코드입니다.
해당 원소를 짝수인 경우에는 * 문자를 출력하는 코드입니다.
 
for문을 이용해 9부터 0까지 반복하면서, switch문에서 num[i] % 2 의 값을 검사합니다.
이 값이 1인 경우 csse1 즉 해당 원소가 홀수인 경우 원소를 출력합니다.
 
 
 

15.(X)

{
    let cnt = 0;
    let sum = 0;
    for(let i=0; i<=7; i++){
        if(i%2 == 1){
            cnt++;
            sum = sum + i;
        }
    }
    console.log(cnt + ", "+sum);
}
✨ 정답보기
 4,16
 
📑 풀이
 
0부터 7까지의 정수 중 홀수의 개수와 홀수의 합을 구하는 코드입니다.
for문을 이용해 0부터 7까지 반복하면서, if문에서 i%2의 값을 검사합니다.
이 값이 1인 경우 cnt 변수를 1 증가시키고, sum  변수에 i값을 더합니다.
 
 

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)
}
✨ 정답보기
 1,90
 
 
 
 

17.

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

    console.log(result)
}
✨ 정답보기
 4
 

18.

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

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

    console.log(solution(13, 33, 17));
}
✨ 정답보기
 NO
 

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(2, 5, 1));
}
✨ 정답보기
 1
 
 
 
 

20.(X)

{
    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];
    console.log(solution(3, arr));
}
✨ 정답보기
 3
 
 
📑 풀이
함수를 이용하여 배열 arr에서 각 요소의 일의 자리 수가 day와 같은 수의 개수를 구하는 코드입니다.
for of문을 이용해 arr의 각 요소 x 에 대해서 x % 10 의 값이 day와 같은 경우에는 anwer  변수를 1 증가시킵니다.
 
 
 
 
 
 
 
 

 

반응형