본문 바로가기

dfs4

[프로그래머스] 네트워크 (Swift) https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr comupters는 나를 포함하여 연결된 컴퓨터정보임 나를 제외한 연결된 노드들을 담는 nodeDic을 생성 nodeDIc 구조는 [A:[A와 연결된 노드들]] 시작점을 바꿔가며 DFS를 이용하여 값이 다른(연결되지 않은) 부분들을 찾으려고 함 DFS 깊이 우선 탐색(DFS) Depth-First Search 탐색하려는 노드의 자식 노드부터 우선 탐색하는 방식 한개의 큐와 한개의 스택으로 구현 방.. 2023. 12. 19.
[프로그래머스] 모음사전 (Swift) https://school.programmers.co.kr/learn/courses/30/lessons/84512 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import Foundation func solution(_ word:String) -> Int { var aeiou = ["A", "E", "I", "O", "U"] var dicArray = [String]() var words = "" func dfs(){ if words.count == 6{ return } dicArray.append(words) for i in 0.. 2023. 12. 13.
DFS 깊이 우선 탐색(DFS) Depth-First Search 탐색하려는 노드의 자식 노드부터 우선 탐색하는 방식 한개의 큐와 한개의 스택으로 구현 방문해야하는 노드 저장 스택(LIFO) 이미 방문한 노드를 저장하는 큐 (FIFO) 1. 탐색 노드 큐에 스택에 담기 2. 스택에 마지막 값을 추출해 큐에 존재하는지 확인 3. 큐에 존재하면 존재하지 않는게 나올때까지 확인 후 큐에 추가 4. 큐에 추가된 값의 연결된 간선들 모두 스택에 추가 * 스택이 빌때까지 2번부터 반복 func DFS(graph: [String: [String]], start: String) -> [String] { var queue: [String] = [] var stack: [String] = [start] while !stack.i.. 2023. 12. 13.
[프로그래머스] 타겟넘버 (Swift) ※1,2번 실행초과 https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DFS 깊이 우선 탐색 알고리즘으로 푼 코드 - 탐색하려는 노드의 자식 노드부터 우선 탐색하는 방식 import Foundation func solution(_ numbers:[Int], _ target:Int) -> Int { var count = 0 func dfs(index: Int, sum: Int) { if index == numbers.count{ if sum == target { co.. 2023. 7. 12.