일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- python기본
- 도커
- git오류
- 백준
- git 오류
- 1주차(1)
- python기초
- Git
- 참고X
- c언어 제어문
- 5장
- c언어
- 코테
- 최단거리
- DP
- Workbench
- 4장
- 그리디
- 데베시 1주차
- #코린이 #코딩 #할 수 있다
- c언어 기본
- 인텔리제이
- 인스타
- python자료형
- 코딩테스트
- git기초
- 자료구조
- 스택
- 파이썬 알고리즘 인터뷰
- 운체 1주차
- Today
- Total
목록CS (18)
하루살이 개발자
섬의 개수 문제: https://leetcode.com/problems/number-of-islands/ Number of Islands - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com Solution class Solution: def numIslands(self, grid: List[List[str]]) -> int: def dfs(i, j): # 땅이 아닌 경우 종료 if i = len(grid) or \ j = len..

DFS (깊이 우선 탐색, Depth First Search) 루트 노드(최상위)부터 리프 노드(최하위)까지 탐색한 후, 다시 올라와서 내려가는 방식(깊은 부분을 우선으로 탐색) 재귀(Recursion) 함수를 활용할 수 있음 스택(Stack)을 활용할 수 있음 동작 과정 1. 탐색 시작 노드를 스택에 삽입하고 방문 처리 함 2. 스택의 최상단 노드에 방문하지 않은 인접한 노드가 하나라도 있으면 그 노드를 스택에 넣고 방문 3. 더 이상 2번의 과정을 수행할 수 없을 때 까지 반복 1) 재귀 구조로 구현 # DFS_재귀 def dfs_recursive(graph, start, visited=[]): visited.append(start) # 방문한 노드 추가 for node in graph[start]:..