본문 바로가기
퀴즈

자바스크립트 쪽지 시험(4)

by dongjin6539 2023. 3. 24.
728x90
반응형

자바스크립트 쪽지 시험(4)

 

길라잡이

  • 수업시간에 배운 자바스크립트를 간단하게 테스트합니다. 제대로 배웠는지 간단하게 테스해보세요!

 

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

{
    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

 

2. 다음의 결괏값을 보고 빈칸을 채우시오.

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

    //함수1가 실행되었습니다.
    //함수2가 실행되었습니다.
}
답 확인하기

str

 

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

{
    function func(a, b){
        console.log(arguments[0]);
        console.log(arguments[1]);
    }
    func("1", "2");
}
답 확인하기

1, 2

 

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

{
    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. 자바스크립트가 실행되었습니다.

 

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

{
    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. 함수가 실행되었습니다.

 

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

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

함수가 실행되었습니다.1

 

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

{
    let num = 1;

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

실행되었습니다. 실행되었습니다. 실행되었습니다. 실행되었습니다. 실행되었습니다.

 

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

{
    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-600
100200300400500600
100 200 300 400 500

 

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

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

 

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();
}
답 확인하기

1, 9, 3

 

 

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

 

오답노트

총 20문제 중 틀린 문제는 7문제 65점입니다...

커트라인 70점.... 토요일 보충수업..ㅠㅠ

틀린 문제는 6번, 7번, 10번, 11번, 13번, 14번, 19번 

 

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

{
    function func(index){
        console.log("함수가 실행되었습니다." + index);
    }
    function callback(num){
        for( let i=1; i<=1; i++){
            num(i);
        }
    }
    callback(func);
}
  • 문제 풀이

1) callback(func) 실행문을 먼저 실행시켜줍니다.

2) callback 함수의 num을 계산을 해주는데 for문의 조건문으로 계산을 했을 때 값은 1이 나옵니다.

3) 위의 함수로 이동해서 callback 함수의 나온 값을 index에 대입해서 실행문을 실행시켜줍니다.

 

함수가 실행되었습니다.1

 

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

{
    let num = 1;

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

1) 변수 num의 값이 1로 저장되어있습니다.

2) do while문으로 값을 실행해줍니다.

3) num++ 연산자로 값을 계산을 하고 console.log( ) 실행문을 실행시킵니다.

4) num++ 계산된 값을 while문의 조건식에 true인지, false인지 확인하고 반복문이므로 true이면 계속 실행하고, false이면 실행을 멈춥니다.

5) 그러므로 num의 값이 1부터 5이므로 실행문을 5번 실행시켜줍니다. 

 

실행되었습니다. 실행되었습니다. 실행되었습니다. 실행되었습니다. 실행되었습니다.

 

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();
}
  • 문제 풀이

1) 변수 i = 10, j = 10, k = 30의 값이 있습니다.

2) 변수의 값은 변경을 시킬 수 있습니다.

3) i /= j, j -= i, k %= j의 식이 있습니다.

4) 첫번째 식이 입력되고 변경된 i의 값이 두번째 식에 입력되어서 설정됩니다.

5) 첫번째 식은 10 /= 10 이므로 i는 1, 두번째 식은 10 -= 1 이므로 j는 9, 세번째 식은 30 %= 9 이므로 k는 3입니다.

6) 실행문을 실행시켜줍니다.

 

실행되었습니다. 실행되었습니다. 실행되었습니다. 실행되었습니다. 실행되었습니다.

 

11. 다음을 결과값을 작성하시오.

{
    let k = 0;
    let temp;
    for(let i=0; i<=3; i++){
        temp = k;
        k++;
        console.log(temp + "번");
    }
}
  • 문제 풀이

1) 변수 k와 변수 temp가 있습니다.

2) for문을 사용해서 반복문으로 실행시켜줍니다.

3) 처음 시작이 0이므로 temp는 0으로 되고 k++ 연산자로 인해 k의 값은 1이됩니다.

4) 실행문 console.log(temp + "번");으로 인해 0번이 실행되고 반복문이므로 조건이 맞을때까지 실행되니 3까지 실행됩니다. 

 

0번, 1번, 2번, 3번

 

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]);
        }
    }
}
  • 문제 풀이

1) 변수 num의 배열이 있습니다.

2) for문을 사용해서 반복문으로 실행시켜줍니다.

3) if문의 i는 배열의 index 값을 가져오므로 조건문이 짝수일때 if문이 실행이됩니다.

4) 실행문에는 num[i]이므로 배열의 element 값을 가져옵니다.

5) 따라서 조건에 맞는 index 값이 1, 3, 5 이므로 그 위치의 element 값은 5, 2, 5 입니다.

 

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("*");
        }
    }
}
  • 문제 풀이

1) 변수 num의 배열이 있습니다.

2) for문과 switch문을 사용해서 반복문으로 실행시켜줍니다.

3) if문의 num[i]는 배열의 element 값을 가져오므로 조건문이 case 1이므로 홀수일 때 case 1의 실행문이 실행됩니다. 아닐 경우 deafult의 실행문이 실행됩니다.

 

9*7*5*3*1*

 

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) 매개 변수로 a, b, c 의 값을 가져옵니다.

2) 변수 answer이 저장되어있습니다.

3) if문의 a < b의 조건이 맞으면 a값, 아니면 b의 값을 가져옵니다. 조건이 맞으므로 answer 값은 a의 값인 2가 저장됩니다.

4) if문의 c < answer 의 조건이 맞으면 c값을 가져옵니다. 조건이 맞으므로 answer 값은 c의 값인 1로 변경됩니다.

 

1

 

 

참고

https://webstoryboy.co.kr/1862

 

728x90
반응형