1. 변수 x가 10보다 크고 20보다 작을 때 변수 x를 출력하는 조건식을 완성하라

1
2
3
var x = 15;

if ( 10 < x && x < 20) console.log(x);

2. for문을 사용하여 0부터 10미만의 정수 중에서 짝수만을 작은 수부터 출력하시오.

1
2
3
for ( let i = 0; i < 10; i++) {
if( i % 2 === 0) console.log(i);
}

3. for문을 사용하여 0부터 10미만의 정수 중에서 짝수만을 작은 수부터 문자열로 출력하시오.

1
2
3
4
5
var evenStr = '';
for ( let i = 0; i < 10; i++) {
if ( i % 2 === 0) evenStr += i;
}
console.log(evenStr);

이 문제는 이렇게 작성할 수도 있다.

1
2
3
4
5
var evenStr = '';
for ( let i = 0; i < 10; i+=2) {
evenStr += i;
}
console.log(evenStr);

그런데, 이런 방법은 다른 사람이 봤을 때 혼란스러울 수 있다. 코드는 항상 읽기 쉽게 써져야 한다.
되도록이면 let i = 0i++는 변형시키지 말고 그대로 사용하도록 노력하자.

4. for문을 사용하여 0부터 10미만의 정수 중에서 홀수만을 큰수부터 출력하시오.

1
2
3
for ( let i = 10; i > 0; i--) {
if ( i % 2) console.log(i);
}

5. while문을 사용하여 0 부터 10 미만의 정수 중에서 짝수만을 작은 수부터 출력하시오.

1
2
3
4
5
var even = 0;
while(even < 10) {
if( even % 2 === 0) console.log(even);
even++;
}

6. while문을 사용하여 0 부터 10 미만의 정수 중에서 홀수만을 큰수부터 출력하시오.

1
2
3
4
5
var odd = 10;
while(odd > 0) {
if ( odd % 2) console.log(odd);
odd--;
}

7. for 문을 사용하여 0부터 10미만의 정수의 합을 출력하시오.

1
2
3
4
5
var sum = 0;
for ( let i = 0; i < 10; i++) {
sum += i;
}
console.log(sum);

8. 1부터 20 미만의 정수 중에서 2 또는 3의 배수가 아닌 수의 총합을 구하시오.

1
2
3
4
5
var sum = 0;
for( let i = 0; i < 20; i++) {
if ( i % 2 && i % 3) sum += i;
}
console.log(sum);

혹은

1
2
3
4
5
var sum = 0;
for( let i = 0; i < 20; i++) {
if ( i % 2 !== 0 && i % 3 !== 0) sum += i;
}
console.log(sum);

9. 1부터 20 미만의 정수 중에서 2 또는 3의 배수인 수의 총합을 구하시오.

1
2
3
4
5
6
7
var sum = 0;
for ( let i = 0; i < 20; i++) {
if ( i % 2 ===0 || i % 3 === 0) {
sum += i;
}
}
console.log(sum);

또는

1
2
3
4
5
6
7
var sum = 0;
for ( let i = 0; i < 20; i++) {
if ( !(i % 2) || !(i % 3)) {
sum += i;
}
}
console.log(sum);

10. 두 개의 주사위를 던졌을 때, 눈의 합이 6이 되는 모든 경우의 수를 출력하시오.

1
2
3
4
5
for ( let i = 1; i <= 6; i++) {
for ( let j = 1; j <= 6; j++) {
if ( i + j === 6) console.log(`[${i}, ${j}]`);
}
}

11. 삼각형 출력하기 - pattern 1

1
2
3
4
5
6
7
for ( let i = 0; i < 5; i++) {
var triangle = '';
for ( let j = 0; j <= i; j++) {
triangle += '*';
}
console.log(triangle);
}

12. 삼각형 출력하기 - pattern 2

1
2
3
4
5
6
7
8
9
10
for ( let i = 0; i < 5; i++) {
var triangle = '';
for ( let j = 0; j < i; j++) {
triangle += ' ';
}
for ( let k = 5; k > i; k--) {
triangle += '*';
}
console.log(triangle);
}

13. 삼각형 출력하기 - pattern 3

1
2
3
4
5
6
7
for ( let i = 0; i < 5; i++) {
var triangle = '';
for ( let j = 5; j > i; j--) {
triangle += '*';
}
console.log(triangle);
}

14. 삼각형 출력하기 - pattern 4

1
2
3
4
5
6
7
8
9
10
for ( let i = 0; i < 5; i++) {
var triangle = '';
for ( let j = 1; j < 5-i; j++) {
triangle += ' ';
}
for ( let k = 0; k <= i; k++) {
triangle += '*';
}
console.log(triangle);
}

15. 정삼각형 출력하기

1
2
3
4
5
6
7
8
9
10
for ( let i = 0; i < 5; i++) {
var triangle = '';
for ( let j = 5; j > i+1; j--) {
triangle += ' ';
}
for ( let k = 0; k < 2*i+1; k++) {
triangle += '*';
}
console.log(triangle);
}

16. 역정삼각형 출력하기

1
2
3
4
5
6
7
8
9
10
for ( let i = 0; i < 5; i++) {
var triangle = '';
for ( let j = 0; j < i; j++) {
triangle += ' ';
}
for ( let k = 9; k >= 2*i+1; k--) {
triangle += '*';
}
console.log(triangle);
}

17. 다이아몬드 출력하기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
for ( let i = 0; i < 5; i++) {
var triangle = '';
for ( let j = 5; j > i+1; j--) {
triangle += ' ';
}
for ( let k = 0; k < 2*i+1; k++) {
triangle += '*';
}
console.log(triangle);
}
for ( let i = 0; i < 4; i++) {
var triangle = '';
for ( let j = 0; j <= i; j++) {
triangle += ' ';
}
for ( let k = 7; k >= 2*i+1; k--) {
triangle += '*';
}
console.log(triangle);
}

18. 별찍기 심화

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
for(var i=0; i<5; i++){
var triangle = "";
for(var j=0; j<5; j++){
if(j<5-i){
triangle = triangle+"*";
}
else{
triangle = triangle+" ";
}
}
for(var j=0; j<5; j++){
if(j>=i){
triangle = triangle+"*";
}
else{
triangle = triangle+" ";
}
}
console.log(triangle);
}