티스토리 뷰

https://www.acmicpc.net/problem/2447

 

2447번: 별 찍기 - 10

재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이

www.acmicpc.net

const fs = require('fs');
const [input] = fs.readFileSync("./dev/stdin").toString().trim().split(" ").map(v => +v);

let Arr = Array.from(Array(input), () => Array(input).fill(' '))

function star(x, y, n, type) {
  let cnt = 0;
  if (n == 1) {
    if (type == true) {
      Arr[y][x] = '*'
    }
    return;
  }
  else {
    star(x, y, n / 3, type)
    star(x, y + (n / 3), n / 3, type)
    star(x, y + (2 * n / 3), n / 3, type)
    star(x + (n / 3), y, n / 3, type)
    star(x + (n / 3), y + (n / 3), n / 3, false)
    star(x + (n / 3), y + (2 * n / 3), n / 3, type)
    star(x + (2 * n / 3), y, n / 3, type)
    star(x + (2 * n / 3), y + (n / 3), n / 3, type)
    star(x + (2 * n / 3), y + (2 * n / 3), n / 3, type)
  }
  return;
}

star(0, 0, input, true)
const answer = Arr.map(v=>v.join(''));
answer.forEach(v=>{
  console.log(v);
})
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함