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가 실행되었습니다.
함수1가 실행되었습니다.
03. 결괏값을 작성하시오.
{
function func(){
let a = [];
for(i=1; i<=5; i++){
a += [i];
}
console.log(a);
}
func();
}
😎결과 확인하기
1, 2, 3, 4, 5
오답
- func 함수를 정의합니다
- a라는 빈 배열을 만듭니다.
- for 루프를 사용하여 1에서 5까지의 숫자를 배열 a에 추가합니다. 이를 위해 a += [i]를 사용하는데, 이는 a 배열에 i 값을 추가하는 것을 의미합니다.
- 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. 제이쿼리가 실행되었습니다.
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. 제이쿼리가 실행되었습니다.
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
함수가 실행되었습니다.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
100200300400500600
100 200 300 400 500
오답
- onst 키워드를 사용하여 arr이라는 배열을 생성하고 초기값으로 [100, 200, 300, 400, 500]을 할당합니다.
- join 메소드를 사용하여 배열 arr의 모든 요소를 문자열로 결합합니다. 구분자로 *을 사용하여 각 요소를 구분합니다. 결과를 text1에 할당합니다.
- push 메소드를 사용하여 arr 배열의 끝에 600을 추가합니다.
- join 메소드를 사용하여 arr 배열의 모든 요소를 문자열로 결합합니다. 구분자를 사용하지 않고 모든 요소를 이어붙입니다. 결과를 text3에 할당합니다.
- pop 메소드를 사용하여 arr 배열에서 마지막 요소인 600을 제거합니다.
- 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
오답
- let 키워드를 사용하여 a와 b 변수를 선언합니다. b 변수에는 초기값으로 10을 할당합니다.
- for 루프를 사용하여 i 변수를 0부터 4까지 증가시킵니다.
- for 루프 내에서 a 변수에 i 값을 할당합니다.
- b 변수에서 a 값을 뺀 결과를 b 변수에 다시 할당합니다.
- 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
오답
- let 키워드를 사용하여 num이라는 배열을 선언하고 초기값으로 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]를 할당합니다.
- for 루프를 사용하여 i 변수를 0부터 9까지 증가시킵니다.
- switch 문을 사용하여 num[i] 값이 홀수인지 짝수인지 판별합니다.
- case 1:은 num[i] 값이 홀수인 경우를 나타냅니다. 이 경우 console.log(num[i]);를 실행하여 num[i] 값을 출력합니다.
- 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
오답
- let 키워드를 사용하여 data라는 배열을 선언하고 초기값으로 [70, 80, 75, 60, 90]를 할당합니다.
- let 키워드를 사용하여 best 변수를 선언하고 초기값으로 1을 할당합니다. 이 변수는 data 배열에서 80점 이상을 받은 학생 수를 나타냅니다.
- let 키워드를 사용하여 score 변수를 선언하고 초기값으로 0을 할당합니다. 이 변수는 data 배열에서 가장 높은 점수를 나타냅니다.
- for 루프를 사용하여 i 변수를 0부터 data 배열의 길이 - 1까지 증가시킵니다.
- if 문을 사용하여 data[i] 값이 80 이상인 경우 best 변수를 1 증가시킵니다.
- if 문을 사용하여 data[i] 값이 score 변수보다 큰 경우 score 변수에 data[i] 값을 할당합니다.
- 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
반응형