[Swift] 프로그래머스92342 양궁대회
·
📝 코테/프로그래머스
import Foundation func solution(_ n:Int, _ info:[Int]) -> [Int] { var max_diff:Int = 0 var max_lst:[Int] = [] var dfs = [(0,0,0,0,Array(repeating: 0, count:11))] while dfs.count > 0 { let now = dfs.removeLast() let ascore = now.0 let lscore = now.1 let idx = now.2 let cnt = now.3 var lst = now.4 if cnt > n { continue } if idx > 10 { let diff = lscore - ascore if diff > max_diff { lst[10] = n - c..
[Swift] 백준 10026 적록색약
·
📝 코테/BOJ
import Foundation let N = Int(readLine()!)! var board = [[String]]() let dx = [0, 0, -1, 1] let dy = [-1, 1, 0, 0] // 상하좌우 var cnts = [0, 0] for _ in 0..
[Swift] 백준1012 유기농배추
·
📝 코테/BOJ
import Foundation let T = Int(readLine()!)! for _ in 1...T { let MNK = readLine()!.components(separatedBy: " ").map { Int($0)! } let M = MNK[0] // 배추밭 가로길이 let N = MNK[1] // 배추밭 새로길이 let K = MNK[2] // 배추가 심어져 있는 위치의 개수 // M * N 2차원 배열 생성 var graph = [[Int]](repeating: [Int](repeating: 0, count: M), count: N) for _ in 1...K { let XY = readLine()!.components(separatedBy: " ").map { Int($0)! } let ..
[Swift] 백준1260 DFS와 BFS
·
📝 코테/BOJ
import Foundation let NMV = readLine()!.components(separatedBy: " ").map { Int($0)! } let N = NMV[0] let M = NMV[1] let V = NMV[2] var graph = [String: [String]]() initializeGraph() for _ in 1...M { let AB = readLine()!.components(separatedBy: " ") let A = AB[0] let B = AB[1] graph[A]?.append(B) graph[B]?.append(A) } printArray(DFS(start: String(V))) printArray(BFS(start: String(V))) func DFS(st..
[Swift] 깊이우선탐색(DFS) 구현해보기
·
💻 CS/알고리즘
이 글은 개인적인 공부를 위해 작성된 글임을 밝힙니다. 자세한 내용은 https://babbab2.tistory.com/107 이곳을 확인해주세요! 깊이우선탐색(DFS) 탐색하려는 노드의 자식 노드부터 우선 탐색하는 방식 탐색 노드의 인접 노드의 자식 노드들을 모두 탐색하고, 다시 돌아가서 다른 인접노드의 자식들을 모두 탐색합니다. 탐색 노드의 가장 깊은 높드까지 다 탐색해야 다음 인접노드를 탐색할 수 있습니다. 구현 탐색할 그래프 미리 만들어두기 let graph: [String: [String]] = [ "A" : ["B", "C"], "B" : ["A", "D", "E"], "C" : ["A", "F"], "D" : ["B"], "E" : ["B"], "F" : ["C"], ] 깊이우선탐색을 하는 ..
JerryiOS
'DFS' 태그의 글 목록