버튼을 클릭하면 명언이 나와요
-이름이 나와요
틀린 것 : 4, 7, 10, 14, 15, 16
1번. 다음의 결괏값을 작성하시오.
let num = 0;
while(false){
num++;
if(num == 3){
continue;
}
if(num > 10){
break;
}
}
console.log(num);
답 : 0
설명 : while문은 true일때 조건을 반복합니다.
false일떄는 while문을 벗어납니다.
2번. 다음의 결괏값을 작성하시오.
let a=6, b=9, c=3, result;
result = ++a + b++ + ++c;
console.log(result);
console.log(a+b+c);
답 : 20, 21
설명 : 선연산자와 후연산자 입니다.
선연산자는 먼저 값이 적용되지만
후연산자는 1번 더 호출이 되어야 적용됩니다.
3번. 다음의 결괏값을 작성하시오.
function func(){
let a = [];
for(let i=1; i<=5; i++){
a += [i];
}
console.log(a);
}
func();
답 : 1, 2, 3, 4, 5
설명 : 변수 a는 배열로 선언합니다.
for문으로 1부터 5까지 1씩 증가한 값을 배열에 넣어줍니다.
4번. 다음의 결괏값을 작성하시오.
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]);
}
}
답 : 1, 3, 8
설명 : for문으로 0부터 10까지 1씩 증가 시키고.
if문으로 1씩 증가시킨 값을 나눈 나머지가 2가 되면
배열에 저장된 값을 인덱스 번호로 호출합니다.
(왜 이걸 알아도 틀렸을까? 암만 생각해도 수학이 부족한가보다.)
5번. 다음의 결괏값을 작성하시오.
function func(num1, num2){
if(num1>num2) return num1;
else return num2;
}
console.log(func(17,23) + func(50,40));
답 : 7, 3
설명 : if문을 통해서 값을 비교 합니다.
num1이 크면 num1의 값을 반환하고.
num1이 큰게 아니면 num2의 값을 반환합니다.
6번. 다음의 결괏값을 작성하시오.
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
설명 : callback함수에 func라는 문자열을 매개변수로 줍니다.
callback함수에서 매개변수로 받은 func의 이름을 통해서 func함수에 매개변수로 값을 전달합니다.
7번. 다음의 결괏값을 작성하시오.
for(let i=1; i<=5; i++){
console.log(i);
if(i==4){
break;
}
}
답 : 1, 2, 3, 4, 5
설명 : for문을 통해서 값을 1씩 증가 시키고.
1씩 증가된 값들을 출력합니다.
i가 4와 똑같으면 멈춥니다.
(??왜 틀렸지??)
8번. 다음의 결괏값을 작성하시오.
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
설명 : text1에서 arr.join을 먼저 해줬기 떄문에 100*200*300*400*500이 출력됩니다.
그리고 push로 arr에 600을 넣어줬기 때문에
text3에는 100200300400500600이 출력됩니다.
그리고 pop으로 arr에 저장된 값을 1개 빼줬기 떄문에
100 200 300 400 500이 출력됩니다.
9번. 다음의 결괏값을 작성하시오.
let a,b = 10;
for(let i=0; i<5; i++){
a = i;
b -= a;
}
console.log(a,b);
답: 4, 0
설명 : for문으로 i값을 1씩 증가 시킵니다.
i값을 a에 저장합니다.
그리고 b에 저장된 값에서 a를 뻅니다.
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
설명 : i와 j를 나눈 값을 i에 저장합니다.
j와 i에 저장된 값을 빼고 j에 저장합니다.
k와 j에 저장된 값을 나눈 나머지를 k에 저장합니다.
(나눗셈이 어렵네요..-_-.)
11번. 다음의 결괏값을 작성하시오.
let k=2;
let temp;
for(let i=0; i<=3; i++){
temp = k;
k++;
console.log(temp + "번");
}
답 : 2번, 3번, 4번, 5번
설명 : for문으로 4번 반복 합니다.
k의 값을 temp에 저장합니다
그리고 k의 값을 후연산자로 1씩 증가시킵니다.(1번더 호출 되어야 k값이 증가됩니다.)
12번. 다음의 결괏값을 작성하시오.
let num=10;
num += 2;
num -= 3;
num *= 5;
num /= 5;
num %= 9;
console.log(num);
답 : 0
설명 : num의 값을 덧셈, 뺄셈, 곱셈, 나눗셈, 나누었을때 나머지를 하고 num의 값을 출력합니다.
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, 17
설명 : for문을 5번 반복합니다.
if문으로 for문의 값을 1씩 더하고 2로 나눈 나머지가 0일때
배열 num에 저장된 값을 i번지의 인덱스에 접근하여 호출합니다.
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
설명 : for문을 10번 반복합니다.
switch문으로 배열num에 저장된 값들을 하나하나 호출해서 2로 나누었을때
나머지가 1이면 배열num에 저장된 값들을 호출합니다.
나머지가 1이 아니면 **을 출력합니다.
(????)
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
설명 : for문으로 8번 반복합니다.
i의 값이 1씩 증가되면서 2로 나누었을때 나머지가 1이면 cnt의 값을 후연산자로 1씩 증가시킵니다.
그리고 sum과 i값의 더합니다.
for문이 8번 반복이 끝나면 cnt의 값과 sum을 2로 나눈 몫을 출력합니다.
(수학...이 싫네요)
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
설명 : for문으로 5번 반복합니다.
배열 data에 저장된 값들을 0번지부터 호출하여 80과 비교합니다.
data에 저장된 값이 크거나 80과 같다면 best의 값을 후연산자로 1증가 시킵니다.
score에 저장된 값과 배열 data에 저장된 값을 비교합니다.
그리고 배열 data에 저장된 값이 크다면 score에 배열 data에 저장된 값을 전달합니다.
(수학....)
17번. 다음의 결괏값을 작성하시오.
let a, b, result;
a=7, b=4;
result = a|b;
console.log(result);
답 : 7
설명 : " | "은 OR입니다.
1개라도 1이 있다면 1을 반환합니다.
111
100
----------
111 --- 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
설명 : solution함수에 매개변수 3개를 전달합니다.
그리고 a+b+c의 값을 더하고 total에 저장합니다.
if문으로 a와 b중에 a가 더 크다면 a의 값을 max에 저장합니다.
아니라면 b의 값을 max에 저장합니다.
다시 if문으로 c와 max의 값 중 c가 더 크다면 c의 값을 max에 저장합니다.
또 if문으로 total-max뺀 값과 max의 값 중에 max이 더 크다면 answer을 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(15,12,11));
답 : 11
설명 : solution함수를 호출하고 매개변수로 3개 전달합니다.
if문으로 a와 b중에 b가 더 크다면 a의 값을 answer에 저장합니다.
아니라면 b의 값을 answer에 저장합니다.
다시 if문으로 c와 answer을 비교하고.
answer의 값이 크면 c의 값을 answer에 저장하고 값을 반환합니다.
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
설명 : solution함수에 매개변수로 0의 값과 배열 arr을 전달합니다.
if문을 통해서 배열 arr에 저장된 값들을 10과 나누었을때 나머지가 0이라면 answer의 0의 값을
후연산자로 1씩 증가시키고 answer의 값을 반환합니다.