Q1.
function star_Q3(n) {
let temp = (2*n)-1; // (가장 아래 별의 갯수 기준) 즉, temp = 2n-1
console.log(`Start star, temp is ${temp}`);
for(let i=n; i>0; i--) { // star_Q3의 인자는 탑 높이(n)
console.log("");
for(let j=1; j<=temp; j++){ // 가장 아래의 별 갯수(temp)만큼 j 루프
if(i>j || j>n){ // 탑 현재 높이(i) >= 별 갯수(j)보다 크거나 같을 경우, 별 갯수(j)가 탑 높이(n)보다 크거나 같을 경우 공백 처리
process.stdout.write(" ");
} else { // 공백 처리된 나머지 부분에 별 찍기
process.stdout.write("*");
}
}
n++; // 탑을 한 층씩 쌓을 때마다 탑 높이값을 +1 해준다.
}
}
console.time();
star_Q3(10);
console.log("\n====================");
console.timeEnd();
console.log("End star_Q3");
Q2.
function star_Q4(n) {
let temp = n*2; // temp = 별탑 층수*2 = 가장 아래 별의 갯수 (기준)
console.log("Start star_Q4");
for(let i=1; i<=n; i++) { // star_Q4의 인자는 탑 높이(n)
console.log("");
for(let j=temp; j>0; j--){ // 가로 기준이 될 temp값만큼 루프.
if(i < j && j <= (temp-i)){ // 현재 층수보다 현재 가로 별 갯수값이 더 크거나, 별 바닥 갯수(temp) - 현재 층수(i)보다 j가 작을 때 공백
process.stdout.write(" ");
} else {
process.stdout.write("*");
}
}
}
}
console.time();
star_Q4(10);
console.log("\n====================");
console.timeEnd();
console.log("End star_Q4");
'개발 > JavaScript' 카테고리의 다른 글
[Javascript] 최대공약수 구하기 (0) | 2023.09.28 |
---|---|
[자바스크립트] 10진수에서 2진수, 2진수에서 10진수 만들기 (0) | 2023.09.21 |
[러닝 자바스크립트] for...in과 hasOwnProperty() (0) | 2023.09.20 |
자바스크립트 호이스팅 및 스코프 문제 (0) | 2023.09.18 |
리액트를 하기 전 자바스크립트를 공부해야 하는 이유 (0) | 2023.09.05 |