repeat 함수는 문자열을 주어진 횟수 만큼 반복하여 반환하는 함수이다.
*
**
***
****
*****
for(let i = 1; i<=5; i++){
const star = '*';
console.log(star.repeat(i));
}
repeat이 1부터 시작해야 처음에 별 1개를 찍을 수 있으므로
for문의 i변수 초기값을 1로 설정하였다.
*****
****
***
**
*
for(let i=5; i>= 1; i--){
console.log('*'.repeat(i));
}
이번 별 찍기는 5개부터 시작된다. 1개씩 감소하고 있기 때문에 반복문이 1차례 돌 때마다 1씩 감소시켜주면 된다.
*****
****
***
**
*
for(let i = 5; i > 0; i--){
console.log(" ".repeat(5-i) + "*".repeat(i));
}
별이 5개로 시작해서 1개씩 감소하고 있다.
공백은 0개로 시작해서 1개씩 증가된다.
첫번째 줄에 별을 5개 먼저 찍어야 하므로 초기값을 5로 설정해서 i값을 1씩 감소시키도록 하였다.
*
**
***
****
*****
for(let i = 1; i <= 5; i++){
console.log(" ".repeat(5-i) + "*".repeat(i));
}
이번에는 공백이 4>3>2>1>0
별이 1>2>3>4>5개가 된다.
별 개수를 기준으로 하기 위해 초기값을 1로 설정했다.
앞의 3번 문제와 비슷하게 풀면 된다.
*
***
*****
*******
for(let i = 1, j = 0; i<=4; i++){
console.log(" ".repeat(4 - i) + "*".repeat(i + j));
j = j + 1;
}
별이 1>3>5>7로 증가
공백이 3>2>1>0으로 감소
별이 1이후 2개씩 증가해야 하므로 j라는 변수를 하나 더 사용해서 2씩 증가할 수 있도록 작성해주었다.
다음에 풀어볼 문제
마름모는 고민을 오래 해봐야 할 것 같아서 아직 풀지는 못했다.
공백이 2>1>0>1>2 , 별이 1>3>5>3>1
*
***
*****
***
*
별찍기 문제 너무 어렵다 흑흑 ㅠ