01) 1번째 문제
다음을 보고 결괏값을 작성하시오!
1
2
3
4
5
6
7
8
9
10
11
| {
const arr = [100, 200, 300, 400, 500];
const text1 = arr.join("*");
const text3 = arr.join("");
const text4 = arr.join(" ");
console.log(text1);
console.log(text3);
console.log(text4);
}
|
1
| const arr = [100, 200, 300, 400, 500];
|
- 이 줄은 arr라는 이름의 상수를 선언하고, 숫자 100, 200, 300, 400, 500을 요소로 갖는 배열을 할당합니다.
const 키워드는 arr의 값이 실행 중에 변경되지 않습니다.
1
| const text1 = arr.join("*");
|
- arr.join(“”) 호출은 배열 ‘arr’의 각 요소 사이에 ‘’ 문자를 삽입하여 이를 하나의 문자열로 합칩니다.
따라서 ‘text1’ 에는 100*200*300*400*500*
이라는 문자열이 저장됩니다.
‘join’ 메소드 배열의 모든 요소를 지정된 구분자로 연결한 새 문자열을 반환합니다.
1
| const text3 = arr.join("");
|
- arr.join(“”) 호출은 배열의 요소들을 구분자 없이 연결합니다.
결과적으로 text3에는 “100200300400500”이라는 문자열이 저장됩니다.
여기서 구분자가 빈 문자열이므로, 배열의 요소들이 서로 바로 붙어있게 됩니다.
1
| const text4 = arr.join(" ");
|
- arr.join(“ “) 호출은 배열의 요소들 사이에 공백을 구분자로 사용하여 연결합니다.
그 결과 text4 변수에는 “100 200 300 400 500”이라는 문자열이 저장됩니다.
각 숫자 사이에 공백이 들어가서 요소들이 눈에 띄게 구분됩니다.
정답
console.log(text1); “100200300400500”
console.log(text3); “100200300400500”
console.log(text4); “100 200 300 400 500”
02) 2번째 문제
다음을 보고 결괏값을 작성하시오!
1
2
3
4
5
6
7
8
9
| {
let a, b = 10;
for(let i=0; i<5; i++){
a = i;
b -= a;
}
console.log(a, b)
}
|
03) 3번째 문제
다음을 보고 결괏값을 작성하시오!
1
2
3
4
5
6
7
8
9
10
11
12
13
| {
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();
}
|
04) 4번째 문제
다음을 보고 결괏값을 작성하시오!
1
2
3
4
5
6
7
8
9
10
11
12
13
| {
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
| let i = 20, j = 20, k = 30;
|
- 여기서는 변수 i, j, k를 선언하고, 각각 20, 20, 30의 값을 할당합니다.
- 변수 i의 값을 변수 j의 값으로 나눈 후 그 결과를 i에 다시 할당합니다.
즉, i는 이제 1이 됩니다.
- 변수 j의 값을 변수 i의 값만큼 감소시킨 후 그 결과를 j에 다시 할당합니다.
즉, j는 이제 19가 됩니다.
변수 k의 값을 변수 j의 값으로 나눈 나머지를 k에 다시 할당합니다.
즉, k는 이제 11이 됩니다.
결과값 1
19
11
05) 5번째 문제
다음을 보고 결괏값을 작성하시오!
1
2
3
4
5
6
7
8
| {
let num1 = 3;
let num2 = 7;
if(++num1 > 5 || num2++ < 1){
console.log(num1);
}
console.log(num2)
}
|
06) 6번째 문제
다음을 보고 결괏값을 작성하시오!
1
2
3
4
5
6
7
8
| {
let num = [1, 5, 1, 2, 7, 5];
for(let i=0; i<6; i++){
if((i+2) % 2 == 0){
console.log(num[i]);
}
}
}
|
07) 7번째 문제
다음을 보고 결괏값을 작성하시오!
1
2
3
4
5
6
7
8
9
10
11
12
13
| {
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
| for(let i=0; i<=9; i++){
|
- 여기서는 for 반복문을 사용합니다. i가 0부터 9까지 증가하는 동안 반복합니다.
여기서는 switch문을 사용합니다.
num[i] % 2의 결과에 따라 다른 동작을 수행합니다.
num[i]는 현재 인덱스 i에 해당하는 배열 요소를 나타냅니다.
% 연산자는 나머지를 반환합니다. 따라서 현재 요소가 홀수인지 짝수인지 판별하기 위해 2로 나눈 나머지를 확인합니다
- 만약 num[i] % 2의 결과가 1이라면, 즉 현재 요소가 홀수라면 이 경우가 실행됩니다.
- 홀수인 경우에는 해당 숫자를 콘솔에 출력합니다.
- break 문을 사용하여 switch 문을 빠져나옵니다.
- 위의 case에 해당하지 않는 경우, 즉 짝수인 경우에는 default 블록이 실행됩니다.
- 짝수인 경우에는 별표(*)를 콘솔에 출력합니다.
결과값
08) 8번째 문제
다음을 보고 결괏값을 작성하시오!
1
2
3
4
5
6
7
8
9
10
11
| {
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);
}
|
1
2
| let cnt = 0;
let sum = 0;
|
- 여기서는 변수 cnt와 sum을 선언하고, 각각 0으로 초기화합니다.
cnt는 홀수의 개수를 세기 위한 변수이고, sum은 홀수의 합을 저장하기 위한 변수입니다.
1
| for(let i=0; i<=7; i++){
|
- 여기서는 for 반복문을 사용하여 변수 i를 0부터 7까지 증가시킵니다.
if 문에서는 현재의 i 값이 홀수인지 확인합니다.
홀수인 경우에는 아래의 블록이 실행됩니다.
- cnt를 1 증가시키고, sum에 현재의 i 값을 더합니다.
1
| console.log(cnt + ", "+sum/2);
|
- 마지막으로, 홀수의 개수인 cnt와 홀수의 합인 sum을 출력합니다.
이 때, 홀수의 합을 홀수의 개수로 나눈 값을 출력합니다.
따라서 콘솔에는 다음과 같이 출력됩니다