티스토리 뷰
문제
풀이
package main
import (
"bufio"
"fmt"
"os"
)
func main() {
var n int
reader := bufio.NewReader(os.Stdin)
writer := bufio.NewWriter(os.Stdout)
fmt.Fscanln(reader, &n)
defer writer.Flush()
var starMat = make([][]bool, n)
for i := 0; i < n; i++ {
starMat[i] = make([]bool, n)
}
makeStar(n, 0, 0, starMat)
for i := 0; i < n; i++ {
for j := 0; j < n; j++ {
if starMat[i][j] {
fmt.Fprint(writer, "*")
} else {
fmt.Fprint(writer, " ")
}
}
fmt.Fprint(writer, "\n")
}
}
func makeStar(size, row, col int, starMat [][]bool) {
if size == 3 {
var cur = 0
for i := row; i < row+size; i++ {
for j := col; j < col+size; j++ {
cur++
if cur == 5 {
starMat[i][j] = false
} else {
starMat[i][j] = true
}
}
}
return
}
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
if i == 1 && j == 1 {
continue
} else {
makeStar(size/3, row+i*size/3, col+j*size/3, starMat)
}
}
}
}
728x90
'dev > algorithm' 카테고리의 다른 글
BOJ / 2798번 / 블랙잭 [Golang] (0) | 2020.06.21 |
---|---|
BOJ / 11729번 / 하노이 탑 이동 순서 [Golang] (0) | 2020.05.20 |
BOJ / 10870번 / 피보나치 수 5 [Golang] (0) | 2020.05.18 |
BOJ / 10872번 / 팩토리얼 [Golang] (0) | 2020.05.17 |
BOJ / 1002번 / 터렛 [Golang] (0) | 2020.05.16 |
댓글