🚩 그래프이론, 그래프탐색, BFS thinking 문제를 읽어보니 BFS여서 BFS로 풀었다. 인접리스트를 만들어준 후, 1번부터 순회하면서 케빈베이컨수를 카운팅한 후 리스트에 넣고 그 리스트에서 가장 작은 값의 인덱스를 출력했다. 코드 from collections import deque def BFS(i): visited = [0] * (N+1) queue.append(i) visited[i] = 1 while queue: t = queue.popleft() for v in edge_list[t]: if not visited[v]: visited[v] = visited[t]+1 queue.append(v) return sum(visited) N, M = map(int, input().split())..
🚩 그래프이론, 그래프탐색, DFS, BFS thinking 처음에 인접리스트로 풀었는데 인풋값을 뭘 먼저 받느냐에 따라 dfs에서 순서가 달라져서 인접행렬로 풀었다. (같은 거리의 노드라면 숫자가 작은 순으로 진행되야 하기 때문) dfs는 재귀여서 그냥 바로바로 출력하고자 함수 내에 print처리했고, bfs는 queue를 이용해서 풀었다. 코드 def DFS(V): visited[V] = 1 # 방문체크 print(V, end=' ') # 재귀여서 바로 출력 for v in range(1, N+1): if not visited[v] and edge_matrix[V][v] == 1: DFS(v) def BFS(V): queue = [V] # 출발점 visited = [V] # 방문 while queue..
🚩 그래프이론, 그래프탐색, DFS, BFS thinking 상하좌우 다 탐색하면서 방문탐색하고 값이 1이면(==배추면) 카운팅 1 증가 ⭐ 처음에 그냥 풀었더니 런타임에러가 났다. 구글링 했더니 재귀 limit을 설정해주지 않아서 발생한 문제라고 한다. K(1 ≤ K ≤ 2500)의 범위가 엄청 커서 그런듯? 파이썬의 기본 재귀 한도가 (1000)이어서 재귀 깊이가 1000을 넘어갈 경우 모듈을 추가해줘야한다. 파이썬 최대 재귀 깊이 늘리는 모듈 import sys sys.setrecursionlimit(탐색하고자하는 깊이) 코드 import sys sys.setrecursionlimit(10000) def dfs(r,c): dr = [0, 1, 0, -1] dc = [1, 0, -1, 0] a[r][..
- merge 에러
- 브루트포스
- BFS
- 20057 마법사 상어와 토네이도
- 프로그래머스
- 삼성코테
- 2579 계단오르기
- 영어끝말잇기
- dfs
- 보석쇼핑
- 삼성기출
- Python
- 기지국설치
- 알고리즘
- react
- dp
- 파이썬
- swea
- 20056 마법사 상어와 파이어볼
- git 미러링
- 백준
- merge에러
- 17406 배열돌리기4
- 2018 카카오 공채
- 21609 상어 중학교
- Total
- Today
- Yesterday