[Swift] 백준2178 미로탐색
·
📝 코테/BOJ
import Foundation /// 1: 이동가능, 0: 이동불가능 /// (1, 1)에서 (N, M)의 위치로 이동하는 최단거리 구해라 /// dfs 알고리즘 특성 상 최단거리를 찾으려면 완전 탐색을 하고 가장 작은 값을 선택해야 하는데 /// 경로가 아주 많을 수도 있으므로 시간복잡도가 매우 커진다. /// 그래서 bfs로 풀어야한다. let NM = readLine()!.components(separatedBy: " ").map { Int($0)! } let N = NM[0] let M = NM[1] let dx = [0, 0, -1, 1] let dy = [-1, 1, 0, 0] // 상하좌우 // 0과 1의 정보가 담긴 보드 var board = [[Int]]() // 방문한 좌표를 담을 배..
[Swift] 백준2606 바이러스
·
📝 코테/BOJ
import Foundation /// N : 컴퓨터의 수 (정점) /// M : 네트워크 상에서 직접 연결되어 있는 컴퓨터쌍의 수 (간선) let N = Int(readLine()!)! let M = Int(readLine()!)! var graph = [String: [String]]() var cnt = 0 for i in 0..
[Swift] 순열, 조합
·
📝 코테/꿀팁
순열 func permutation(array: [T], n: Int) { var visited = [Bool](repeating: false, count: array.count) func permutation(current: [T]) { if current.count == n { print(current) return } for i in 0..
JerryiOS
Jerry