하루기록
220721 DFS/BFS 네트워크 파이썬, 타겟넘버 파이썬
매우빠른거부기
2022. 7. 21. 17:29
#네트워크
from collections import deque
def bfs(visited, v, computers):
que = deque()
visited[v] = True
que.append(v)
while que:
tmp = que.popleft()
for i in range(len(computers[tmp])):
if i != tmp:
if computers[tmp][i] and not visited[i]:
que.append(i)
visited[i] = True
return visited
def solution(n, computers):
visited = [False]*n
answer = 0
for i in range(n):
if visited[i] == False:
visited = bfs(visited, i, computers)
answer += 1
return answer
#타겟넘버
def solution(numbers, target):
answer = 0
tarList = [[] for i in range(len(numbers))]
tarList[0].append(numbers[0])
tarList[0].append(-numbers[0])
for i in range(1,len(tarList)):
for j in tarList[i-1]:
tarList[i].append(j+numbers[i])
tarList[i].append(j-numbers[i])
answer = tarList[-1].count(target)
return answer