코딩 공부/오답노트

JAVASCRIPT자바스크립트 테스트 (5)

천서리 2023. 3. 31. 19:32
QUOTE THE DAY

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

- 이글슨 (Eagleson)
반응형

자바스크립트 테스트

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

 


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]);
        }
    }

    console.log(sum);
}
😎결과 확인하기
1 3 8

오답

  1.  배열 arr을 정의하고 [3,4,1,4,1,3,4,9,8,3] 값을 할당합니다.
  2.  for 루프를 사용하여 i 변수를 0부터 9까지 반복합니다.
  3.  각 반복에서 if 조건문이 실행됩니다. i를 3으로 나눈 나머지가 2인지 검사합니다. 즉 i가 2,4,8일 때 조건이 참이 됩니다.
  4. 조건문이 참이면 console.log(arr[i])를 호출하여 배열 arr의 i번째 요소를 콘솔에 출력합니다. 따라서 arr[2], arr[5], arr[8] 값인 1,3,8이 출력됩니다.
  5.  마지막으로 console.log(sum)을 호출합니다. 그러나 sum 변수가 정의되어 있지 않기 때문에 에러가 발생합니다.

 

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

오답

for 루프를 사용하여 i 변수를 1부터 5까지 반복합니다. 각 반복에서 console.log(i)를 호출하여 현재 i의 값을 콘솔에 출력합니다. 반복문 안에 if 조건문이 있습니다. 이 조건문은 i 값이 4일 때 break 키워드를 사용하여 반복문을 중지합니다. 따라서 콘솔에는 1, 2, 3, 4가 출력되고, 5는 출력되지 않습니다.

 

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

 

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

{
    let a, b = 10;

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

 

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

{
    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

오답

  1.  func 함수는 세 개의 변수 i, j, k를 정의하고 각각 10, 20, 30의 값을 할당합니다.
  2.  ij로 나눈 후 그 값을 i에 할당합니다. 즉, i의 값은 10 / 20 = 0.5가 됩니다.
  3.  j에서 i 값을 뺀 후 그 결과를 j에 할당합니다. j의 값은 20 - 0.5 = 19.5가 됩니다.
  4.  kj로 나눈 나머지 값을 k에 할당합니다. k의 값은 30 % 19.5 = 10.5가 됩니다.

 

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

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

 

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

{
    let num = 10;
    num += 2;
    num -= 3;
    num *= 5;
    num /= 5;
    num %= 9;
    
    console.log(num)
}
😎결과 확인하기
0

 

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

 

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

 

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