HIT해
[Swift/백준] N과 M(1) 본문
728x90
import Foundation
var flag : [Bool] = []
var result : [Int] = []
func main() {
let NM = readLine()!.split(separator: " ").map{ Int($0)! }
let (N , M) = (NM[0], NM[1])
flag = [Bool](repeating: false, count: N+1)
logic(N: N, M: M, depth: 0)
}
// 이 함수에서 M 카운트까지 도달하면 돌아오기
func logic(N : Int, M : Int, depth : Int) {
if M == depth {
// 프린트
print(result.map { String($0) }.joined(separator: " ") )
return
}
for i in 1...N {
if flag[i] == false {
flag[i] = true
result.append(i)
logic(N: N, M: M, depth: depth+1)
result.removeLast()
flag[i] = false
}
}
}
main()
배열의 요소를 간단하게 출력하는 방법
print( 배열.map { String($0 }.joined( separator : " " ) )
'Swift > Swift 알고리즘' 카테고리의 다른 글
[Swift/프로그래머스] 도넛과 막대 그래프 (완전탐색, 그래프) (0) | 2024.10.31 |
---|---|
[Swift/백준] N과 M (5) (0) | 2024.10.03 |
[Swift] 알고리즘 약수,소수 공식들 (0) | 2024.10.01 |
[Swift/백준] 코딩 테스트 준비 - 기초 , 약수의 합 (0) | 2024.10.01 |
[Swift] 조합 (0) | 2024.10.01 |