[백준] 15656 - Swift

이창형·2023년 6월 8일
0

코드

let input = readLine()!.split(separator: " ").map{Int($0)!}
let n = input[0]
let m = input[1]

var arr = readLine()!.split(separator: " ").map{Int($0)!}
arr.sort(by: <)
// 시간초과 때문에 만듬
var answer = ""

func dfs(_ length: Int, _ stack: [String]) {
    if length == m {
    	// print를 계속 찍는 것 보다 한 번에 출력해주는 것이 시간을 
        // 줄일 수 있는 것을 알게되었다
        answer += stack.joined(separator: " ") + "\n"
        return
    }
    for i in arr {
        dfs(length + 1, stack + [String(i)])
    }
}

dfs(0, [])
print(answer)

회고

  • 문제는 쉽다
  • 시간을 줄이는 법을 두가지 알게 되었다 (map쓰지않기, print한번으로 간소화하기)
profile
iOS Developer

0개의 댓글