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 |
Tags
- widget
- com.google.GIDSignIn
- swift 동시성
- leetcode dart
- dart
- 롤토체스 api dart
- Architectural overview
- swift concurrency
- 발로란트 api dart
- generate parentheses dart
- docker overview
- 파이썬 부동소수점
- flutter bloc
- AnimationController
- 롤 api dart
- dart new
- valorant api dart
- flutter statefulwidget
- PlatformException(sign_in_failed
- tft api dart
- flutter android 폴더
- flutter ios 폴더
- keychain error
- dart new 키워드
- lol api dart
- dart.dev
- flutter
- 파이썬
- riot api dart
- flutter widget
Archives
- Today
- Total
Coaspe
알고리즘/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를 사용한 풀이 입니다.
Comments