일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그래프이론
- DFS
- BASIC
- 파이썬
- CSS
- 그래프 탐색
- web
- 딕셔너리
- 그리디 알고리즘
- 웹 프론트엔드
- 자료구조
- 알고리즘
- 프로그래머스스쿨
- 백준
- level2
- 그래프 이론
- 너비 우선 탐색
- programmers
- JavaScript
- 구현
- 다이나믹 프로그래밍
- BFS
- 문자열
- 자바스크립트
- 프로그래머스
- 브루트포스 알고리즘
- 정렬
- lv2
- 스택
- DP
- Today
- Total
목록그래프 탐색 (5)
DevLog:-)

문제 코드 import sys from collections import deque n, k = map(int,sys.stdin.readline().strip().split()) def bfs(): q = deque() q.append(n) while q: v = q.popleft() if v == k: print(visited[v]) break for nv in (v - 1, v + 1, v * 2): if 0

문제 코드 import sys from collections import deque #60m r,c = map(int,sys.stdin.readline().strip().split()) graph = [] visited = [[False]*c for _ in range(r)] for _ in range(r): graph.append(list(map(int,sys.stdin.readline().strip()))) dx =[1,-1,0,0] dy =[0,0,1,-1] visited[0][0]=True q= deque() q.append((0,0,1)) f=0 while(q): cx,cy,count= q.popleft() for i in range(4): nx = cx+dx[i] ny = cy+dy[i] if..

문제 코드 import sys from collections import deque N,M,V = map(int,sys.stdin.readline().strip().split()) graph =[[] for _ in range(N+1)] def dfs(cur_v): visited.append(cur_v) for v in graph[cur_v]: if(v not in visited): dfs(v) return visited def bfs(start_v): visited=[start_v] q = deque() q.append(start_v) while(q): cur_v =q.popleft() for v in graph[cur_v]: if(v not in visited): visited.append(v) q...

문제코드BFSimport sysfrom collections import dequen = int(sys.stdin.readline())m = int(sys.stdin.readline())graph=[[] for _ in range(n+1)]def bfs(start_v): visited=[start_v] q =deque() q.append(start_v) while(q): cur_v=q.popleft() for v in graph[cur_v]: if(v not in visited): visited.append(v) q.append(v) re..

문제 소스코드 import sys from collections import deque n,b = map(int,sys.stdin.readline().split()) q= deque() q.append([n,1]) #현재 값과 레벨과 넣기 f=0 while(q): k=q[0] if(k[0]==b): #맨 앞에 칸이 b와 같은지 확인 print(k[1]) f=1 break else: q.popleft() #다를 경우 큐에서 빼내고 해당 값에서 파생된 값 갱신 if(k[0]*2