티스토리 뷰
문제
https://www.acmicpc.net/problem/15665
풀이
이 문제에서는 9번에서 했던 것처럼 중복만 체크하면서 모든 쌍을 출력해주면된다. 그래서 10번처럼 idx같은 파라미터를 받을 필요도 없이 매번 반복문을 0부터 시작하면 된다.
자기자신과의 쌍을 이룰 수 있으므로 방문했던 것을 표시할 필요도 없다.
import Foundation
let input = readLine()!.split(separator: " ").map { Int(String($0))! }
let numbers = readLine()!.split(separator: " ").map { Int(String($0))! }.sorted(by: <)
func dfs(_ current: String, _ depth: Int) {
var last = 0
if depth == input[1] {
print(current)
return
}
for i in 0..<input[0] {
if last != numbers[i] {
dfs(current + "\(numbers[i]) ", depth + 1)
last = numbers[i]
}
}
}
dfs("",0)
_____________________________________________________________________________________________________
얼른 이 시리즈 끝내고 다른 대표문제들도 풀어봐야겠다
'PS' 카테고리의 다른 글
[Swift] 백준_N-Queen(9663) (0) | 2023.01.20 |
---|---|
[Swift] 백준_N과 M(12)(15666) (0) | 2023.01.18 |
[Swift] 백준_N과 M(10)(15664) (0) | 2023.01.18 |
[Swift] 백준_N과 M(9)(15663) (0) | 2023.01.18 |
[Swift] 백준_N과 M(8)(15657) (0) | 2023.01.17 |
댓글
최근에 올라온 글
- Total
- Today
- Yesterday