일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- gensim_models
- 백준 회전초밥
- 백준
- express
- 백준 7795
- pandas-profiling
- 파이썬
- neo4j
- neo4j 제약조건
- 워드 임베딩
- cs50
- nodemon babel
- 첫서버
- UnsatisfiedDependencyException
- neo4j 스키마 정의
- GET REQUESTS
- 그랜빌의 법칙
- 플로이드워셜
- 투포인터
- 알고리즘
- gensim
- Sequenial
- 백준 2470
- spring-boot2
- 텍스트전처리
- spring-boot3
- neo4j 인덱스 사용
- gensim size
- PREFECT
- BFS
- Today
- Total
목록BFS (2)
정리정돈
1초일 때의 갈수 있는 경우의 수 2초일때 갈 수 있는 경우의 수를 배열형태로 만들어주어 초단위로 queue에서 빠져 나올 수 있게끔 해주었다. from collections import deque n, k = map(int,input().split()) queue = deque([[n]]) visited = [False]*100001 cnt = 0 visited[n] = True while queue: # 이중배열 if visited[k] == True: # 만약 원하는 k랑 n이 만나는 순간 종료 break v = queue.popleft() # 나오게되면 1차원 배열 temp = [] # 빈배열 temp(한사이클을 판별할 수 있겠끔) for i in v: # 1차원배열을 대상으로 for문 steps..
from collections import deque # bfs 사용을 위해 deque 라이브러리 사용 n, m = map(int,input().split()) # 미로의 크기를 받아줌 maze = [] # 미로를 담아줄 빈배열 생성 for _ in range(n): maze.append(list(map(int,input()))) # 미로를 담아줌 queue = deque([(0,0)]) # 시작지점을 queue 안에 넣어줌 # 상하 좌우 이동 배열 dx = [1,-1,0,0] dy = [0,0,1,-1] while queue: x, y = queue.popleft() # bfs 사용 for i in range(4): # 상하좌우 이동 nx = x + dx[i] ny = y + dy[i] # 이동한 위치..