실습과제: for문 더 연습하기
주어진 높이(height)에 맞게 '*'로 삼각형을 그려주는 함수 printTriangle을 완성해 봅시다. 함수를 잘 작성했다면 결과는 아래와 같이 출력되어야 합니다.
높이: 1
*
높이: 3
*
**
***
높이: 5
*
**
***
****
*****
function printTriangle(height) {
// 여기에 코드를 작성해 주세요.
let message = '';
for (let i = 1; i <= height; i++) {
message = message + '*';
console.log(message);
}
}
// 테스트 코드
console.log('높이: 1');
printTriangle(1);
console.log('높이: 3');
printTriangle(3);
console.log('높이: 5');
printTriangle(5);
파라미터의 숫자 값에 따라 '*'을 출력하는 코드를 완성했다면 이제 반복할 때마다 '*'의 개수를 증가시켜주어야 한다.
그러기 위해서 콘솔에 '*'을 바로 출력하는 게 아니라 for문이 반복되기 전에 message라는 변수를 만든 다음,
for문이 반복될 때마다 message에 '*'을 하나씩 추가하면서 콘솔에 message를 출력한다.
그러면 우리가 원하는 모양이 잘 출력되는 모습을 확인할 수 있다.
예시
let message = '';
for (let i = 1; i <= 6; i++) {
message = message + i;
console.log(message);
}
0
01
012
0123
01234
012345
실습과제: while문 더 연습하기
정수 N의 약수는 N을 나누었을 때 나누어떨어지는 수입니다. 만약 정수 i가 정수 N의 약수라면, N을 i로 나누었을 때 나머지가 0이 나와야 하는 거죠.
while문을 활용해서 정수 180의 약수를 모두 출력하고, 총 몇 개의 약수가 있는지 출력하는 프로그램을 작성해 보세요. 코드를 잘 작성했다면 결과는 콘솔에 아래와 같이 출력되어야 합니다.
1
2
3
4
5
6
9
10
12
15
18
20
30
36
45
60
90
180
180의 약수는 총 18개입니다.
const N = 180;
let i = 1;
let count = 0;
// 여기에 코드를 작성해 주세요.
while (i <= 180) {
if (N % i === 0) {
console.log(i);
count++;
}
i++;
}
console.log(`180의 약수는 총 ${count}개입니다.`)
실습과제: 피보나치 수열
피보나치 수열(Fibonacci Sequence)이라고 들어 보셨나요?
1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...
우선 피보나치 수열의 1번 항과 2번 항은 각각 1입니다. 3번 항부터는 바로 앞 두 항의 합으로 계산됩니다. 예를 들어서 3번 항은 1번 항(1)과 2번 항(1)을 더한 2이며, 4번 항은 2번 항(1)과 3번 항(2)을 더한 3입니다.
반복문을 활용해서 피보나치 수열의 첫 50개 항을 차례대로 출력하는 프로그램을 작성해 보세요.
for문과 while문 중 어떤 반복문을 사용해도 상관없습니다.
코드를 잘 작성하셨다면 다음과 같이 출력되어야 합니다.
1
1
2
3
5
8
13
21
.
.
.
4807526976
7778742049
12586269025
// 여기에 코드를 작성해 주세요.
let current = 1;
let previous = 0;
for (let i = 1; i <= 50; i++) {
console.log(current);
let temp = previous;
previous = current;
current = current + temp;
}
'~2023.02 > JS' 카테고리의 다른 글
유사배열(Array-Like Object) (0) | 2022.06.01 |
---|---|
html/css_01 (0) | 2022.05.02 |
프로그래밍 기초 in JS_[토픽3]프로그래밍과 데이터 in JS_자료형 심화&과제로 복습하기 (0) | 2022.01.19 |
프로그래밍 기초 in JS_[토픽3]프로그래밍과 데이터 in JS_배열 (0) | 2022.01.19 |
프로그래밍 기초 in JS_[토픽3]프로그래밍과 데이터 in JS_객체 (0) | 2022.01.19 |