제어문(조건문, 반복문) 연습문제 풀이

jaemin·2020년 9월 10일
0

자바스크립트

목록 보기
5/12
post-thumbnail

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

var x = 15;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

var sum = 0;
for ( let i = 0; i < 10; i++) {
  sum += i;
}
console.log(sum);

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

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

혹은

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의 배수인 수의 총합을 구하시오.

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

또는

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

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

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

for ( let i = 0; i < 5; i++) {
  var triangle = '';
  for ( let j = 0; j <= i; j++) {
    triangle += '*';
  }
  console.log(triangle);
}

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

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

for ( let i = 0; i < 5; i++) {
  var triangle = '';
  for ( let j = 5; j > i; j--) {
    triangle += '*';
  }
  console.log(triangle);
}

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

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. 정삼각형 출력하기

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. 역정삼각형 출력하기

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. 다이아몬드 출력하기

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. 별찍기 심화

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);
}
profile
프론트엔드 개발자가 되기 위해 공부 중입니다.

0개의 댓글