반응형
시간초과ㅠㅠㅠㅠㅠㅠㅠㅠㅠ k=10일 때 넣어보니까 출력이 진짜 오래 걸리던데 문자열 출력 때문인 것 같다. 여러 방법 다해봤는데 joined() 쓰는 게 그나마 제일 빨랐다. 그래도 한참 느린가 보다.
이 문제는 Swift로 맞은 사람 많던데 어떻게 한 건지 끝까지 못 찾아내서 결국 C++로 제출했다. Swift로 AC 받은 코드 보고 싶다. 진짜 너무 궁금해ㅠㅠ
import Foundation
var arr = [[String]]()
func fillStar(row: Int, col: Int, size: Int) {
if size == 3 {
arr[row][col+2] = "*"
arr[row+1][col+1] = "*"; arr[row+1][col+3] = "*"
for i in 0..<5 { arr[row+2][col+i] = "*" }
} else {
fillStar(row: row, col: col + size/2, size: size/2)
fillStar(row: row+size/2, col: col, size: size/2)
fillStar(row: row+size/2, col: col + size, size: size/2)
}
}
func solution() {
let N = Int(readLine()!)!
arr = Array(repeating: Array(repeating: " ", count: 2*N-1), count: N)
fillStar(row: 0, col: 0, size: N)
arr.forEach{ print($0.joined()) }
}
solution()
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
백준 11054번 가장 긴 바이토닉 부분 수열 - 스위프트(Swift) 풀이 + 그림 설명 (0) | 2022.01.25 |
---|---|
백준 10993번 별 찍기 - 18 - 스위프트(Swift) 풀이 + 그림 설명 (0) | 2022.01.24 |
백준 7511번 소셜 네트워킹 어플리케이션 - 스위프트(Swift) 시간초과 해결 (0) | 2022.01.24 |
백준 1043번 거짓말 - 스위프트(Swift) 풀이 (0) | 2022.01.24 |
백준 10830번 행렬 제곱 - 스위프트(Swift) 풀이 (0) | 2022.01.22 |
댓글