JAVASCRIPT

자바스크립트 오답풀이

ture403 2023. 3. 24. 10:59

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

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,ture

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. 결괏값을 작성하시오.

{
    function func(index){
        console.log("함수가 실행되었습니다." + index);
    }
    function callback(num){
        for( let i=1; i<=1; i++){
            num(i);
        }
    }
    callback(func);
}
결과확인하기 함수가 실행되었습니다. 1

07. 결괏값을 작성하시오.(틀림)

{
    let num = 1;

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

}
결과확인하기 실행되었습니다.실행되었습니다.실행되었습니다.실행되었습니다.실행되었습니다.

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

{
    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

09. 다음을 최대한 짧게 약식으로 표현하시오.

{
    function func(str){
        return str;
    }
    func("함수가 실행되었습니다.")
}
결과확인하기 1,9,3

10. 다음을 결과값을 작성하시오.(틀림)

{
    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();
}
결과확인하기 func = str => str

11. 다음을 결과값을 작성하시오.(틀림)

{
    let k = 0;
    let temp;
    for(let i=0; i<=3; i++){
        temp = k;
        k++;
        console.log(temp + "번");
    }
}
결과확인하기 0번1번2번3번

12. 다음을 결과값을 작성하시오.(틀림)

{
    let num1 = 3;
    let num2 = 7;
    if(++num1 < 5 || ++num2 > 8){
        console.log(num1);
    }
    console.log(num2)
}
결과확인하기 4,7

13. 다음을 결과값을 작성하시오.(틀림)

{
    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

14. 다음을 결과값을 작성하시오.(틀림)

{
    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*

15. 다음을 결과값을 작성하시오.(틀림)

{
    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

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)
}
결과확인하기 2,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. 다음을 결과값을 작성하시오.(틀림)

{
    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

오답풀이

7. do while 문을 알면 쉽게 풀수 있습니다. 

10.i값이 변경 되므로 순차적으로 실행이 됩니다.

11.반복문을 알면 쉽게 풀수 있습니다. 착각해서 틀림

12. 안에서만 증가하지 밖에서는 증가하지 않습니다.

13. 배열에 있는 값과 반복문을 확인해서 출력값을 확인합니다.

14. for문안에switch문을 넣은 코드 입니다. 나눈후 나머지가 0이면 defalut에 있는 *로 출력 아니면 배열숫자 출력입니다.

15. 홀수를 더해주면 값이 나오고 cnt값은 홀수의 갯수입니다.

18. 문제를 이해하면 됩니다.

20. 나눈 나머지가 3이면 answer 증가 시켜서 값을 알아온다