본문 바로가기
개발/차근차근 개발일지 TIL

230406 TIL 문법 종합반 1주차 테스트

by 코딩하는짱구 2023. 4. 6.
반응형

 

230406 TIL 문법 종합반 1주차 테스트

만점 받았다! 물론 vs code 치면서 봤지만.. 그래도 왜 답이 이렇게 나오는지 이해가 됐다는 점에 의미를 두기로.. 

우선 이해가 잘 안가서 질의 했던 문제를 짚고 넘어가려 한다. 

 

1번 이해 안갔던 이유는 한 줄 공식이 조금 난해해 보였다. 

grade=(score>90)?'A':'B' 의 뜻은 grade가 ()조건을 만족하면  true, 만족하지 않으면 false이며

true일 경우 :문의 앞, 즉 A가 찍히고, false일 경우 뒤의 것이 찍힌다. 이걸 꼭 이해하고 넘어가기!

 

6번 ||와 &&의 차이는?

//||(OR) ~거나~면 (주어진 조건 중 하나라도 참인지 테스트)
//&&(AND) 두 조건이 모두 참일때 true를 반환
//!(NOT) !true 는 false를 반환함

 

10번 for문안에 들어가는거 익숙해지기!

 

Q1. 90점을 넘으면 A등급, 아니라면 B등급을 출력하는 소스코드입니다. 빈칸에 들어갈 알맞은 소스코드는?

const score = 85;
let grade;
(빈칸)
console.log(score+"점은 "+grade+"등급입니다.");

//실행결과 : 85점은 B등급 입니다.
  1. (score>90)? score='A' : 'B';
  2. grade=(score>90)? 'A' : 'B';
  3. if (score>90) grade='A'; if else grade='B';

정답 : 2번

Q2. 534자루의 연필을 30명의 학생들에게 똑같은 개수로 나누어줄 때 1인당 몇개를 가질 수 있고, 몇개가 남는지를 구하는 코드입니다. (1), (2)에 들어갈 알맞은 코드가 짝지어진 것은?

let pencils = 534;
const students = 30;

const pencilsLeft = (1) ;
pencils -= pencilsLeft; // 남는 연필을 일단 빼서 딱 나누어떨어지게 만들기.
const pencilsPerStudent = (2);
  1. (1) pencils%students (2)pencils%students
  2. (1) pencils/students (2)pencils/students
  3. (1) pencils/students (2)pencils%students
  4. (1) pencils%students (2)pencils/students

정답 : 4번

Q3. 다음 코드를 실행했을 때 출력 결과는?

const score = 85;
const result = (!(score>90))? "가" : "나";
console.log(result);

정답 : 1번

Q4. 다음 중, 틀린 문장은?

  1. if문은 조건식의 결과에 따라 실행 흐름을 달리할 수 있다.
  2. if문은 조건식이 true이면 블록을 실행하고 false이면 블록을 실행하지 않는다.
  3. if문의 블록 내부에는 또 다른 if문을 사용할 수 있다.
  4. switch문에서 사용할 수 있는 변수의 타입은 int만 가능하다.
  5. 모두 맞다.

정답 : 4번

Q5. 두개의 숫자 a, b중 a가 큰지, b가 큰지를 구하는 프로그램입니다. (1), (2)에 들어갈 알맞은 코드가 짝지어진 것은?

if ( (1) ){
  console.log("a가 더 큽니다.");
}
else if ( (2) ) {
  console.log("b가 더 큽니다.");
}
else{
  console.log("두 숫자가 같습니다.");
}
  1. (1) a>b (2) b>a
  2. (1) a>=b (2) b>=a
  3. (1) b>a (2) a>b
  4. (1) b>=a (2) a>=b

정답 : 1번

Q6. 중첩 조건문은 논리 연산자를 적용해 하나의 조건문으로 만들 수 있습니다. 빈 칸에 어떤 논리 연산자가 들어가야 할까요?

if(x>10){
  if(x<20){
    console.log("조건에 맞습니다.");
  }
}

//바꾼 뒤
if ( 빈칸 ){
  console.log("조건에 맞습니다.");
}
  1. x>10 || x<20
  2. x>10 && x<20
  3. x>10, x<20
  4. x>10과 x<20

정답 : 2번

Q7. 다음 프로그램의 실행 결과를 예측해보세요.

for (let i=0;i<3;i++){
  console.log(i);
}
  1. 0 (줄바꿈) 1 (줄바꿈) 2
  2. 1 (줄바꿈) 2 (줄바꿈) 3
  3. 0 (줄바꿈) 1
  4. 1 (줄바꿈) 2

정답 : 1번

Q8. 다음은 십의 자리 이하를 버리는 코드입니다. 변수 value의 값이 356이라면, 300이 나올 수 있도록 빈칸에 알맞은 코드를 넣어주세요. (부분점수 있음)

let value = 356;
console.log( (빈칸) );

정답

  • Math.floor(value / 100) * 100
  • value - value%100
  • value.toString().replace(/56/g, '00')
  • value - Number(String(value)[1] +String(value)[2])
  • Math.trunc(value*0.01)*100
  • parseInt(value/100)*100
  • value -=value%100

부분점수 인정

  • value - value%300
  • parseInt(356 / 100) * 100
  • Math.floor(n/100) * 100
  • Math.floor(num / 100) * 100
  • 356 - (356%100)
  • value==356 ? ((value / 100 )* 100) : value

오답

  • value-56

Q9. 주어진 input이 짝수인지 홀수인지 판별하는 switch문입니다. 빈칸에 들어갈 알맞은 코드를 넣어주세요. (산술 연산자만 사용하세요.) (부분점수 있음)

let input = 13;

switch ( (빈칸) ) {
  case 0:
    console.log("짝수입니다.");
    break;
  case 1:
    console.log("홀수입니다.");
    break;
}

정답

  • input%2

오답

  • %12
  • 13 % 2
  • (input)-13

Q10. 다음 프로그램의 결과를 예측해보세요. (부분점수 있음)

for(let i=0;i<10;i++) {
	if(i==5) continue;
        if(i==7) break;
	console.log(i);
}

정답

  • 0 (\n) 1 (\n) 2 (\n) 3 (\n) 4 (\n) 6
  • 0 (줄바꿈) 1 (줄바꿈) 2 (줄바꿈) 3 (줄바꿈) 4 (줄바꿈) 6 (줄바꿈)
  • 0 1 2 3 4 6
  • 0,1,2,3,4,6
  • 0/1/2/3/4/6 (println으로 밑으로 하나 씩 출력)
  • 0\n1\n2\n3\n4\n6\n
  • 이외 글 설명 + 0,1,2,3,4,6이 출력된다고 한 답 모두

오답

  • 0 1 2 3 4 5 6
  • 0 1 2 3 4 6 7
  • 1 (줄바꿈) 2 (줄바꿈) 3 (줄바꿈) 4 (줄바꿈) 6
  • 0123456
반응형