코딩 공부/오답노트

JAVASCRIPT자바스크립트 테스트 (4-1)

천서리 2023. 3. 26. 17:35
QUOTE THE DAY

“ 당신이 6개월 이상 한 번도 보지 않은 코드는 다른 사람이 다시 만드는 게 훨씬 더 나을 수 있다. ”

- 이글슨 (Eagleson)
반응형

자바스크립트 테스트

자바스크립트 테스트 문제와 정답을 정리하고 틀린 문제는 풀이를 해보자


 

01. 다음의 결괏값을 작성하시오.

{
    const str = "javascript refercence";

    str.indexOf("javascript");     
    str.indexOf("javascripts");     
    str.indexOf("j");              
    str.indexOf("J");               
    str.indexOf("a");              
    str.indexOf("ja");             
    str.indexOf("jv");              
    str.indexOf("refercence");      
    str.indexOf("r");              
    str.indexOf("re");              
    str.indexOf("javascript", 0);  
    str.indexOf("javascript", 1);   
    str.indexOf("refercence", 0);   
    str.indexOf("refercence", 11);  
    str.indexOf("refercence", 12);  
    str.indexOf("r", 7);            
    str.indexOf("r", 12);           
}
😎결과 확인하기
5개

 

 

02. 다음의 결괏값을 작성하시오.

{
    function func(){
        console.log("함수1가 실행되었습니다.");
    }
    function callback(str){
        console.log("함수2가 실행되었습니다.");
        str();
    }
    callback(func);
}
😎결과 확인하기
함수2가 실행되었습니다.
함수1가 실행되었습니다.

 

 

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

{
    function func(){
        let a = [];

        for(i=1; i<=5; i++){
            a += [i];
        }
        console.log(a);
    }
    func();
}
😎결과 확인하기
1, 2, 3, 4, 5

 

오답

  1. func 함수를 정의합니다
  2. a라는 빈 배열을 만듭니다.
  3. for 루프를 사용하여 1에서 5까지의 숫자를 배열 a에 추가합니다. 이를 위해 a += [i]를 사용하는데, 이는 a 배열에 i 값을 추가하는 것을 의미합니다.
  4. console.log(a)를 호출하여 배열 a를 출력합니다.

 

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();
    info3.result3();
}
😎결과 확인하기
1. 함수가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.

 

 

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();
    info2.result();
    info3.result();
}
😎결과 확인하기
1. 함수가 실행되었습니다.
2. 자바스크립트가 실행되었습니다.
3. 제이쿼리가 실행되었습니다.

 

 

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

{
    let num = 0;

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

 

 

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

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

    const text1 = arr.join("*");
    arr.push("600");
    const text3 = arr.join("");
    arr.pop();
    const text4 = arr.join(" ");

    console.log(text1);
    console.log(text3);
    console.log(text4);
}
😎결과 확인하기
100*200*300*400*500
100200300400500600
100 200 300 400 500

 

오답

  1. onst 키워드를 사용하여 arr이라는 배열을 생성하고 초기값으로 [100, 200, 300, 400, 500]을 할당합니다.
  2. join 메소드를 사용하여 배열 arr의 모든 요소를 문자열로 결합합니다. 구분자로 *을 사용하여 각 요소를 구분합니다. 결과를 text1에 할당합니다.
  3. push 메소드를 사용하여 arr 배열의 끝에 600을 추가합니다.
  4. join 메소드를 사용하여 arr 배열의 모든 요소를 문자열로 결합합니다. 구분자를 사용하지 않고 모든 요소를 이어붙입니다. 결과를 text3에 할당합니다.
  5. pop 메소드를 사용하여 arr 배열에서 마지막 요소인 600을 제거합니다.
  6. join 메소드를 사용하여 배열 arr의 모든 요소를 문자열로 결합합니다. 구분자로 공백을 사용하여 각 요소를 구분합니다. 결과를 text4에 할당합니다.

 

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

{
    let a, b = 10;

    for(let i=0; i<5; i++){
        a = i;
        b -= a;
    }
    console.log(a, b)
}
😎결과 확인하기
4, 0

 

오답

  1. let 키워드를 사용하여 a와 b 변수를 선언합니다. b 변수에는 초기값으로 10을 할당합니다.
  2. for 루프를 사용하여 i 변수를 0부터 4까지 증가시킵니다.
  3. for 루프 내에서 a 변수에 i 값을 할당합니다.
  4. b 변수에서 a 값을 뺀 결과를 b 변수에 다시 할당합니다.
  5. console.log 함수를 사용하여 a와 b 변수의 값을 출력합니다.

 

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

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

        console.log(i);
        console.log(j);
        console.log(k);
    }
    func();
}
😎결과 확인하기
1, 19, 11

 

 

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

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

 

 

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

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

 

 

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

{
    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

 

오답

  1. let 키워드를 사용하여 num이라는 배열을 선언하고 초기값으로 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]를 할당합니다.
  2. for 루프를 사용하여 i 변수를 0부터 9까지 증가시킵니다.
  3. switch 문을 사용하여 num[i] 값이 홀수인지 짝수인지 판별합니다.
  4. case 1:은 num[i] 값이 홀수인 경우를 나타냅니다. 이 경우 console.log(num[i]);를 실행하여 num[i] 값을 출력합니다.
  5. default:는 case 문에서 일치하는 조건이 없는 경우를 나타냅니다.  num[i] 값이 짝수인 경우입니다. 이 경우 console.log("**");를 실행하여 **를 출력합니다.

for 루프가 실행되면서 num 배열에서 값을 하나씩 가져와 홀수인 경우는 해당 값(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

 

 

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

 

오답

  1. let 키워드를 사용하여 data라는 배열을 선언하고 초기값으로 [70, 80, 75, 60, 90]를 할당합니다.
  2. let 키워드를 사용하여 best 변수를 선언하고 초기값으로 1을 할당합니다. 이 변수는 data 배열에서 80점 이상을 받은 학생 수를 나타냅니다.
  3. let 키워드를 사용하여 score 변수를 선언하고 초기값으로 0을 할당합니다. 이 변수는 data 배열에서 가장 높은 점수를 나타냅니다.
  4. for 루프를 사용하여 i 변수를 0부터 data 배열의 길이 - 1까지 증가시킵니다.
  5. if 문을 사용하여 data[i] 값이 80 이상인 경우 best 변수를 1 증가시킵니다.
  6. if 문을 사용하여 data[i] 값이 score 변수보다 큰 경우 score 변수에 data[i] 값을 할당합니다.
  7. console.log 함수를 사용하여 best와 score 변수의 값을 출력합니다.

for 루프가 실행된 후 best 변수에는 3이, score 변수에는 90이 할당되어 있습니다.

이는 data 배열에서 80점 이상을 받은 학생이 3명이며, 가장 높은 점수는 90점임을 나타냅니다.

 

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

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

    console.log(result)
}
😎결과 확인하기
7

 

 

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

 

 

반응형
Adventure Time - BMO