Question
๋ฐฑ์ค 2439๋ฒ : ๋ณ ์ฐ๊ธฐ -2
์ฒซ์งธ ์ค์๋ ๋ณ 1๊ฐ, ๋์งธ ์ค์๋ ๋ณ 2๊ฐ, N๋ฒ์งธ ์ค์๋ ๋ณ N๊ฐ๋ฅผ ์ฐ๋ ๋ฌธ์
ํ์ง๋ง, ์ค๋ฅธ์ชฝ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ๋ณ(์์ ์ฐธ๊ณ )์ ์ถ๋ ฅํ์์ค.
My Code
let input = require('fs').readFileSync('dev/stdin').toString().split('\n');
let num = Number(input[0]);
// for ์ค์ฒฉ์ด์ฉ
let answer = '';
for (let i =0; i < num; i++) {
let blank = '';
answer += '*';
for (let j=num-i; j>1; j--) {
blank += ' ';
}
console.log(blank + answer);
}
์ฒซ ๋ฒ์งธ๋ก for๋ฌธ ์ค์ฒฉ์ ์ด์ฉํด์ ์๊ณ ๋ฆฌ์ฆ์ ํผ ๋ฐฉ๋ฒ์ด๋ค.
HOW?
- N๋ฒ์งธ ์ค๊น์ง ์ถ๋ ฅํด์ผ ํ๋๊น ์ฒซ ๋ฒ์งธ for๋ฌธ์ N๋ฒ๋์ ๋๋ ค์ผ ํ๋ค.
- ์ค๋ฅธ์ชฝ ์ ๋ ฌ์ด ๋๊ธฐ ์ํด ๊ณต๋ฐฑ์ ์ถ๋ ฅํ๊ธฐ ์ํ for๋ฌธ์ ๋๋ฆฐ๋ค.
- ์ ์ฅ๋ ๊ณต๋ฐฑ๊ณผ ๋ณ์ ์ถ๋ ฅ๋๋ ์์ ๊ฐ์ ๋ง๊ฒ ์ถ๋ ฅ๋๋๋ก ์ฝ์์ ์ ๋ ฅํ๋ค.
// repeat ์ด์ฉ
let stars = '';
for (let i = 1; i <= num; i++) {
stars += '*';
let blank = ' '.repeat(num - stars.length);
answer2 = `${blank}${stars}`
console.log(answer);
}
๋ ๋ฒ์งธ๋ก method์ธ repeat์ ์ด์ฉํ ๋ฐฉ๋ฒ์ด๋ค.
repeat์ ์ด์ ํฌ์คํ ์ธ ๋ณ ์ฐ๊ธฐ-1์ ์ฌ์ฉ๋ method์ด๋ค.
๋ฌธ์์ด์ ์ฃผ์ด์ง ํ์๋งํผ ๋ฐ๋ณตํด ๋ถ์ธ ์๋ก์ด ๋ฌธ์์ด์ ๋ฐํํ๋ค.
HOW?
๊ณต๋ฐฑ์ ์ฃผ์ด์ง N๊ฐ์์ stars์ ๊ธธ์ด๋งํผ ๋นผ์ ๋ฐ๋ณตํ๋ค.
// slice ์ด์ฉ
let blank = ' '.repeat(num);
for (let i = 0; i < num ; i ++) {
stars += '*';
let air = blank.slice(i+1);
answer = `${air}${stars}`
console.log(answer);
}
์ธ ๋ฒ์งธ๋ก ์ธ method์์ slice๋ฅผ ์ด์ฉํ ๋ฐฉ๋ฒ์ด๋ค.
HOW?
- ๊ณต๋ฐฑ์ ์ฃผ์ด์ง N๊ฐ๋งํผ repeat์ ์ด์ฉํด ๋ฐ๋ณตํด์ ๋ถ์ฌ ๋ฐํํ๋ค.
- for๋ฌธ ์์์ i+1๋ถํฐ ๋๊น์ง ๋ฐํํ๋ slice๋ฅผ ์ด์ฉํด ๊ณต๋ฐฑ ๊ฐ์ ๋ณ์์ ์ ์ฅํ๋ค.
slice์ ๊ดํ ๋ฌธ๋ฒ์ ์๋ mdn ์ฌ์ดํธ๋ฅผ ํตํด ์์ธํ ํ์ธํ ์ ์๋ค.
์ด๋ฒ ๋ฌธ์ ๋ for๋ฌธ์ผ๋ก ๋๋ฆฌ๋ ๊ฒ๋ง ์๊ฐํ์๋ค. method๊ฐ ์ต์ํด์ง ๋๊น์ง ์๊ณ ๋ฆฌ์ฆ์ ์ ์ฉํ๋ ๋ฐฉ๋ฒ์ ๊ณ ๋ คํด์ผ๊ฒ ๋ค. ํ์ฉํ ์ ์๋ ํ๋ก์ ํธ๊ฐ ๋ฌด์์ด ์๋์ง ์๊ฐํด๋ด์ผ๊ฒ ๋ค.
'Algorithms > Baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ๋ฐฑ์ค 1110๋ฒ : ๋ํ๊ธฐ ์ฌ์ดํด (0) | 2022.04.17 |
---|---|
[JS] ๋ฐฑ์ค 10871๋ฒ : X๋ณด๋ค ์์ ์ (0) | 2022.04.16 |
[JS] ๋ฐฑ์ค 2438๋ฒ : ๋ณ ์ฐ๊ธฐ -1 (0) | 2022.04.13 |
[JS] ๋ฐฑ์ค 8393๋ฒ : ํฉ (0) | 2022.04.12 |
[JS] ๋ฐฑ์ค 2741๋ฒ , 2742๋ฒ : N์ฐ๊ธฐ, ๊ธฐ์ฐN (0) | 2022.04.10 |