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
오답노트
배열을 0번 인덱스부터 10번 인덱스까지 반복문으로 돌며, i가 3으로 나누어 떨어지고, 그 나머지가 2인 경우 해당 요소를 출력합니다.
arr배열에서는 2번, 5번, 8번 인덱스에 해당하는 요소가 출력됩니다.
그래서 답은 1 3 8이 나옵니다.
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
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
오답노트
- push 메소드는 배열의 맨 뒤에 새로운 요소를 추가합니다.
- pop 메소드는 배열의 맨 뒤에 있는 요소를 제거하고 그 요소를 반환합니다.
arr 배열의 모든 요소를 "*" 문자열로 구분하여 합친 text1 변수를 선언합니다.
이때 join() 메소드를 사용하면 배열의 모든 요소를 지정한 구분자를 이용해 하나의 문자열로 합칠 수 있습니다.
그 다음, arr 배열의 맨 뒤에 "600"이라는 요소를 추가한 후, arr 배열의 모든 요소를 연결하여 하나의 문자열로 만든 text3 변수를 선언합니다.
그리고 pop() 메소드를 사용하여 arr 배열의 맨 뒤에 있는 요소를 제거하고, 남은 요소들을 " " 문자열로 구분하여 합친 text4 변수를 선언합니다.
즉, text1 변수에는 "100200300400500"이 저장되어 있으며, text3 변수에는 "100200300400500600"이 저장되어 있습니다. 마지막으로 text4 변수에는 "100 200 300 400"이 저장되어 있습니다.
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 = 10;에서 b에 10을 할당하고, a는 초기화하지 않았기 때문에 값이 할당되지 않은 상태입니다.
그 다음 for 반복문을 통해 0부터 4까지의 값을 가지는 i 변수를 선언하고, a에 i 값을 할당하고, b에서 a 값을 뺍니다.
이때 b 변수는 반복문을 돌면서 변하게 되며, 초기 값이 10이므로, i가 0일 때는 b가 10이 됩니다.
i가 1일 때는 b에서 a인 1을 뺀 9가 되고, 이런 식으로 반복문이 실행됩니다.
따라서, 반복문을 실행하면 a와 b의 값은 각각 4와 5가 됩니다.
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
11
{
let k = 2;
let temp;
for(let i=0; i<3; i++){
temp = k;
k++;
console.log(temp + "번")
}
}
정답
2번
3번
4번
5번
오답노트
let k = 2;에서 k에 2를 할당하고, temp는 초기화하지 않았기 때문에 값이 할당되지 않은 상태입니다.
그 다음 for 반복문을 통해 0부터 2까지의 값을 가지는 i 변수를 선언합니다.
temp 변수에 k 값을 할당하고, k에 1을 더하는 연산을 수행합니다. 따라서 반복문이 처음 실행될 때는 temp 변수에 2가 할당되고, k 변수에는 3이 할당됩니다.
그리고 console.log() 함수를 사용하여 temp 변수와 "번" 문자열을 출력합니다.
이때 문자열 연결 연산자 "+"를 사용하여 temp 변수와 "번" 문자열을 하나의 문자열로 합칩니다.
이 과정을 반복문이 총 3번 실행됩니다.
즉, temp 변수의 값이 처음에는 2이고, 반복문이 실행될 때마다 1씩 증가하여 4가 됩니다.
그리고 console.log() 함수를 통해 각각 "2번", "3번", "4번" 문자열이 출력됩니다.
12
{
let num = 10;
num += 2;
num -= 3;
num *= 5;
num /= 5;
num %= 9;
console.log(num)
}
정답
0
오답노트
let num = 10;에서 num에 10을 할당합니다.
그 다음 num += 2;를 통해 num 변수에 2를 더한 후, num -= 3;를 통해 num 변수에서 3을 뺍니다.
따라서 num 변수는 9가 됩니다.
이어서 num *= 5;를 통해 num 변수에 5를 곱한 후, num /= 5;를 통해 num 변수를 5로 나눕니다.
이렇게 하면 num 변수는 9가 되므로 결과적으로 num 변수의 값은 변하지 않습니다.
마지막으로 num %= 9;를 통해 num 변수를 9로 나눈 나머지를 num 변수에 할당합니다.
9를 9로 나눈 나머지는 0이므로, 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
오답노트
a = 7, b = 4에서 a 변수에 7을 할당하고, b 변수에 4를 할당합니다.
비트 OR 연산은 두 비트 중에 하나라도 1인 경우에 결과 비트를 1로 설정합니다.
result = a | b;를 통해 a와 b 변수를 비트 OR 연산합니다.
0111
0100
-------
0111
다시 10진수로 바꾸면 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