[JS 100์ ] ๋ฌธ์ 10 - ๋ณ ์ฐ๊ธฐ
๋ฌธ์
ํฌ๋ฆฌ์ค๋ง์ค ๋ , ์๋น๋ ์น๊ตฌ๋ค๊ณผ ํจ๊ป ํํฐ๋ฅผ ํ๊ธฐ๋ก ํ์ต๋๋ค. ๊ทธ๋ฐ๋ฐ, ํฌ๋ฆฌ์ค๋ง์ค ํธ๋ฆฌ๋ฅผ ์ฌ๋ ๊ฒ์ ๊น๋นกํ๊ณ ๋ง์์ต๋๋ค. ์จ ๊ฐ๊ฒ๋ฅผ ๋์๋ค๋ ๋ดค์ง๋ง ํฌ๋ฆฌ์ค๋ง์ค ํธ๋ฆฌ๋ ๋ชจ๋ ํ์ ์ด์์ต๋๋ค. ํ๋ ์ ์์ด ์๋น๋ ํ๋ก๊ทธ๋๋ฐ์ผ๋ก ํธ๋ฆฌ๋ฅผ ๋ง๋ค๊ธฐ๋ก ํฉ๋๋ค.
์๋น๋ฅผ ์ํด ํ๋ก๊ทธ๋จ์ ์์ฑํด ์ฃผ์ธ์.
์
๋ ฅ
5
์ถ๋ ฅ
*
***
*****
*******
*********
๋์ ํ์ด
์ ๋ต์
// ๋ณ์ ์ค์
const num = prompt("ํธ๋ฆฌ์ ๊ธธ์ด๋ฅผ ์
๋ ฅํ์ธ์", "5");
// tree ๋ง๋ค๊ธฐ!
for (let i = 1; i <= num; i++) {
let tree = ""; // ๋ณ์ ์ด๊ธฐํ๋ฅผ for ๋ฌธ ์์
// ๊ณต๋ฐฑ ๋ง๋ค๊ธฐ!
for (let s = 1; s <= num - i; s++) {
tree += " ";
}
// ๋ณ ๋ง๋ค๊ธฐ!
for (let j = 1; j <= i * 2 - 1; j++) {
tree += "*";
}
console.log(tree);
}
์ด๋ค.
๋ฌธ์ ๋ฅผ ํ์ด๋ธ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค.
1. ๋ฌธ์ ๋ถ์ ๋ฐ ๋ณ์ ์ค์
์ฒ์ ํธ๋ฆฌ์ ์ฆ๊ฐํญ์ ์ดํด๋ณด์. ์ ๋ ฅ๋ฐ์ ๊ฐ์ผ๋ก ํธ๋ฆฌ ๊ธธ์ด๊ฐ ๊ฒฐ์ ๋๋ฉฐ, ํ๋ฒ์ 2์ฉ ์ฆ๊ฐ๋๊ณ ์๋ค.
๊ธธ์ด๋ฅผ ์ ๋ ฅ๋ฐ์ ๋ณ์์, tree ๋ณ์๋ฅผ ์ค์ ํด์ค๋ค.
const num = prompt("ํธ๋ฆฌ์ ๊ธธ์ด๋ฅผ ์
๋ ฅํ์ธ์", "5");
let tree = "";
2. for ๋ฌธ
ํฐ for ๋ฌธ์ ๋ง๋ค์ด ์ ๋ ฅ๋ฐ์ number ๋งํผ for๋ฌธ์ ๋๋ฆฐ๋ค. (ํธ๋ฆฌ์ ๊ธธ์ด)
for (let i = 1; i <= num; i++) {
console.log("*");
}
// ๊ฒฐ๊ณผ
*
*
*
*
*
3. ๋ณ์ฐ๊ธฐ
๋ณธ๊ฒฉ์ ์ผ๋ก ๋ณ์ ์ฐ๋ ์ค์ฒฉ for ๋ฌธ์ ์์ฑํด์ค๋ค. ๋ณ์ ์ด๊ธฐํ๋ฅผ for ๋ฌธ ๋ด๋ถ์ ์ค์ ํด์ฃผ์ด, i ๊ฐ์ด ์ฆ๊ฐ๋ ๋๋ง๋ค ์ด๊ธฐํ๋ฅผ ์์ผ์ฃผ๊ฒ ํ์๊ณ , ์ฆ๊ฐ ํญ์ด 2์ฉ ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์ *2๋ฅผ ํด์ฃผ๋, ์ฒ์ ๊ฐ์ด 2๋ก ์์๋๊ธฐ ๋๋ฌธ์ -1์ ํด์ฃผ์๋ค.
for (let i = 1; i <= num; i++) {
let tree = ""; // ๋ณ์ ์ด๊ธฐํ๋ฅผ for๋ฌธ ๋ด๋ถ์ ์ค์ ํด์ฃผ์ด, i ๊ฐ์ด ์ฆ๊ฐ๋ ๋๋ง๋ค ์ด๊ธฐํ๋ฅผ ์์ผ์ค๋ค.
// ๋ณ ๋ง๋ค๊ธฐ!
for (let j = 1; j <= i * 2 - 1; j++) { // (* 2 - 1) ์ ํด์ฃผ์ด ์ฒ์ ์์์ 1 ๋ถํฐ ์์ํ ์ ์๊ฒ ํ์๋ค.
tree += "*";
}
console.log(tree);
}
// ๊ฒฐ๊ณผ
*
***
*****
*******
*********
3. ๊ณต๋ฐฑ์ฐ๊ธฐ
ํธ๋ฆฌ๋ฅผ ๊ฐ์ด๋ฐ๋ก ๋ฐฐ์นํ๊ธฐ ์ํด์ ๊ณต๋ฐฑ์ ์ถ๋ ฅํ๋ for๋ฌธ์ ํ๋ ๋ ๋ง๋ค์ด์ค๋ค. ๊ณต๋ฐฑ s ๋ ๊ฐ ์๋ก ์ ์ด์ ธ์ผ ํ๊ธฐ ๋๋ฌธ์, num - i ๋ฅผ ํตํด ์ ์ฒด๋ฅผ ๋๋ ํฐ for๋ฌธ์ ์ฆ๊ฐํ๋ ๊ฐ i ์ฉ ๋นผ์ฃผ์๋ค.
// ๋ณ์ ์ค์
const num = prompt("ํธ๋ฆฌ์ ๊ธธ์ด๋ฅผ ์
๋ ฅํ์ธ์", "5");
// tree ๋ง๋ค๊ธฐ!
for (let i = 1; i <= num; i++) {
let tree = "";
// ๊ณต๋ฐฑ ๋ง๋ค๊ธฐ!
for (let s = 1; s <= num - i; s++) {
tree += " ";
}
// ๋ณ ๋ง๋ค๊ธฐ!
for (let j = 1; j <= i * 2 - 1; j++) {
tree += "*";
}
console.log(tree);
}
// ๊ฒฐ๊ณผ
*
***
*****
*******
*********
์ ๋ต
const n = prompt('์ซ์๋ฅผ ์
๋ ฅํ์ธ์.');
let tree = '';
for(let i=1; i<=n; i++){
let star = '';
for(let j=1; j<=n-i; j++){
star += ' ';
}
for(let k=1; k<=2*i-1; k++){
star += '*';
}
tree += star + '\n';
}
console.log(tree);