Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- leetcode dart
- widget
- keychain error
- docker overview
- 발로란트 api dart
- flutter android 폴더
- flutter statefulwidget
- AnimationController
- dart
- riot api dart
- PlatformException(sign_in_failed
- flutter bloc
- dart.dev
- tft api dart
- dart new 키워드
- swift 동시성
- valorant api dart
- 롤토체스 api dart
- Architectural overview
- generate parentheses dart
- dart new
- 파이썬
- 파이썬 부동소수점
- flutter
- swift concurrency
- 롤 api dart
- com.google.GIDSignIn
- lol api dart
- flutter widget
- flutter ios 폴더
Archives
- Today
- Total
aspe
알고리즘/Programmers - 양과 늑대(Python3) 본문
import collections
answer = 0
def solution(info, edges):
graph = collections.defaultdict(list)
for src, dst in edges:
graph[src].append(dst)
def dfs(s, sheep, wolf, path):
# 양, 늑대 확인
if not info[s]: sheep += 1
else: wolf += 1
if wolf >= sheep: return
global answer
answer = max(answer, sheep)
# 직후 DFS에서는 현재 노드를 탐색할 필요가 없다.
if path: path.remove(s)
path.extend(graph[s])
for i in path:
dfs(i, sheep, wolf, path[:])
dfs(0, 0, 0, [])
return answer
DFS를 사용한 풀이 입니다.