본문 바로가기
Algorithm/Baekjoon

백준 2444번

by minhi 2024. 12. 30.

백준 2444번을 풀어보았다.

let N = Number(require('fs').readFileSync('/dev/stdin').toString())

let output = ''

for (let i = 0; i < N; i++) {
  for (let j = N - 1; j > i; j--) {
    output += ' '
  }
  for (let k = 0; k < 2 * i + 1; k++) {
    output += '*'
  }
  output += '\n'
}

for (let i = 0; i < N - 1; i++) {
  for (let j = 0; j <= i; j++) {
    output += ' '
  }
  for (let k = 0; k < 2 * (N - (i + 2)) + 1; k++) {
    output += '*'
  }
  i !== N - 2 ? output += '\n' : output += ''
}

console.log(output)

 

위와 같이 규칙을 파악하고 반복문을 사용하여 풀이하였으나

 

repeat 메소드를 사용하면 더 간단하게 해결할 수 있다.

 

참고) 백준 25314번, 백준 2675번

let N = Number(require('fs').readFileSync('/dev/stdin').toString())

let output = ''

for (let i = 0; i < N; i++) {
  output += ' '.repeat(N - 1 - i)
  output += '*'.repeat(2 * i + 1)
  output += '\n'
}

for (let i = 0; i < N - 1; i++) {
  output += ' '.repeat(i + 1)
  output += '*'.repeat(2 * (N - (i + 2)) + 1)
  i !== N - 2 ? output += '\n' : output += ''
}

console.log(output)

 

💫 이 문제를 통해 배운 것

문자열을 반복할 때 repeat 메소드도 떠올리자.

'Algorithm > Baekjoon' 카테고리의 다른 글

백준 2738번  (0) 2024.12.30
백준 10988번  (0) 2024.12.30
백준 3003번  (0) 2024.11.15
백준 5622번  (0) 2024.11.15
백준 2908번  (0) 2024.11.15