๋”ฐํŒŒ๐Ÿ•
Hwaiian Pizza IT Pub
๋”ฐํŒŒ๐Ÿ•
  • ALL (62)
    • Front-End (13)
      • HTML & CSS (2)
      • JavaScript (7)
      • React (2)
      • TypeScript (0)
      • Jquery (0)
      • Git (1)
      • Editor (0)
    • Algorithms (44)
      • Baekjoon (28)
      • Programmers (13)
      • Algorithms (3)
    • Computer Science (0)
      • Math (0)
    • Conference (1)
    • Life (3)
      • Book (0)
hELLO ยท Designed By ์ •์ƒ์šฐ.
๋”ฐํŒŒ๐Ÿ•

Hwaiian Pizza IT Pub

[JS] ๋ฐฑ์ค€ 2439๋ฒˆ : ๋ณ„ ์ฐ๊ธฐ -2
Algorithms/Baekjoon

[JS] ๋ฐฑ์ค€ 2439๋ฒˆ : ๋ณ„ ์ฐ๊ธฐ -2

2022. 4. 14. 17:25
๋ฐ˜์‘ํ˜•

 

Question

 

 

๋ฐฑ์ค€ 2439๋ฒˆ : ๋ณ„ ์ฐ๊ธฐ -2

์ฒซ์งธ ์ค„์—๋Š” ๋ณ„ 1๊ฐœ, ๋‘˜์งธ ์ค„์—๋Š” ๋ณ„ 2๊ฐœ, N๋ฒˆ์งธ ์ค„์—๋Š” ๋ณ„ N๊ฐœ๋ฅผ ์ฐ๋Š” ๋ฌธ์ œ

ํ•˜์ง€๋งŒ, ์˜ค๋ฅธ์ชฝ์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•œ ๋ณ„(์˜ˆ์ œ ์ฐธ๊ณ )์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

 

2439๋ฒˆ: ๋ณ„ ์ฐ๊ธฐ - 2

์ฒซ์งธ ์ค„์—๋Š” ๋ณ„ 1๊ฐœ, ๋‘˜์งธ ์ค„์—๋Š” ๋ณ„ 2๊ฐœ, N๋ฒˆ์งธ ์ค„์—๋Š” ๋ณ„ N๊ฐœ๋ฅผ ์ฐ๋Š” ๋ฌธ์ œ ํ•˜์ง€๋งŒ, ์˜ค๋ฅธ์ชฝ์„ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•œ ๋ณ„(์˜ˆ์ œ ์ฐธ๊ณ )์„ ์ถœ๋ ฅํ•˜์‹œ์˜ค.

www.acmicpc.net

 


 

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?

  1. N๋ฒˆ์งธ ์ค„๊นŒ์ง€ ์ถœ๋ ฅํ•ด์•ผ ํ•˜๋‹ˆ๊นŒ ์ฒซ ๋ฒˆ์งธ for๋ฌธ์„ N๋ฒˆ๋™์•ˆ ๋Œ๋ ค์•ผ ํ•œ๋‹ค.
  2. ์˜ค๋ฅธ์ชฝ ์ •๋ ฌ์ด ๋˜๊ธฐ ์œ„ํ•ด ๊ณต๋ฐฑ์„ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•œ for๋ฌธ์„ ๋Œ๋ฆฐ๋‹ค.
  3. ์ €์žฅ๋œ ๊ณต๋ฐฑ๊ณผ ๋ณ„์„ ์ถœ๋ ฅ๋˜๋Š” ์˜ˆ์ œ ๊ฐ’์— ๋งž๊ฒŒ ์ถœ๋ ฅ๋˜๋„๋ก ์ฝ˜์†”์— ์ž…๋ ฅํ•œ๋‹ค.

 

// 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?

  1. ๊ณต๋ฐฑ์„ ์ฃผ์–ด์ง„ N๊ฐ’๋งŒํผ repeat์„ ์ด์šฉํ•ด ๋ฐ˜๋ณตํ•ด์„œ ๋ถ™์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  2. for๋ฌธ ์•ˆ์—์„œ i+1๋ถ€ํ„ฐ ๋๊นŒ์ง€ ๋ฐ˜ํ™˜ํ•˜๋Š” slice๋ฅผ ์ด์šฉํ•ด ๊ณต๋ฐฑ ๊ฐ’์„ ๋ณ€์ˆ˜์— ์ €์žฅํ•œ๋‹ค.

 

 

slice์— ๊ด€ํ•œ ๋ฌธ๋ฒ•์€ ์•„๋ž˜ mdn ์‚ฌ์ดํŠธ๋ฅผ ํ†ตํ•ด ์ž์„ธํžˆ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Array.prototype.slice() - JavaScript | MDN

slice() ๋ฉ”์„œ๋“œ๋Š” ์–ด๋–ค ๋ฐฐ์—ด์˜ begin๋ถ€ํ„ฐ end๊นŒ์ง€(end ๋ฏธํฌํ•จ)์— ๋Œ€ํ•œ ์–•์€ ๋ณต์‚ฌ๋ณธ์„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ๊ฐ์ฒด๋กœ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์›๋ณธ ๋ฐฐ์—ด์€ ๋ฐ”๋€Œ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

developer.mozilla.org

 

 

 

์ด๋ฒˆ ๋ฌธ์ œ๋„ 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
    'Algorithms/Baekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [JS] ๋ฐฑ์ค€ 1110๋ฒˆ : ๋”ํ•˜๊ธฐ ์‚ฌ์ดํด
    • [JS] ๋ฐฑ์ค€ 10871๋ฒˆ : X๋ณด๋‹ค ์ž‘์€ ์ˆ˜
    • [JS] ๋ฐฑ์ค€ 2438๋ฒˆ : ๋ณ„ ์ฐ๊ธฐ -1
    • [JS] ๋ฐฑ์ค€ 8393๋ฒˆ : ํ•ฉ
    ๋”ฐํŒŒ๐Ÿ•
    ๋”ฐํŒŒ๐Ÿ•
    ์ €์ชฝ ์†๋‹˜์ด ๋ณด๋‚ด์‹  ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋””๋ฒ„๊น… ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?๐Ÿน

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”