BFS 3

18352. 특정 거리의 도시 찾기 - 파이썬. BFS, 큐

1. 사용한 알고리즘 | 자료 구조 BFS 큐 2. 풀이 접근 방식 전형적인 BFS 문제입니다. K회 만큼 BFS 연산 후 Queue 에 있는 값을 정렬, 출력합니다. 3. 특이사항 Stack 2개를 스왑하는 방식으로 사용하여 deque 를 import 하지 않고 BFS 알고리즘을 구현할 수 있습니다. 4. 언어 | 실행시간 | 메모리 사용량 Python3 | 1264ms | 97164kb from sys import stdin def solution(): # 1. 입력 # N: 정점의 수 | M: 간선의 수 # K: BFS 연산 횟수 | X: BFS 연산 시작점 N, M, K, X = map(int, stdin.readline().split()) # 2. 선언 # 2-1. paths: 간선 정보 pat..

1260. DFS와 BFS - 파이썬

1260. DFS와 BFS 사용한 알고리즘 및 자료구조 1. BFS, 스택 2. DFS, 큐 3. 연결 리스트 접근 방식 1. BFS와 DFS 를 구현한다. 문제 특이사항 1. 방문할 수 있는 정점이 여러 개인 경우에는 정점 번호가 작은 것을 먼저 방문해야 한다. 스택: 후입선출 큐: 선입선출 의 특징을 염두에 두고 구현해야 한다. 2. DFS 특정 지점의 연결 리스트를 조회할 때 연결 리스트를 1) 오름차순 정렬 후 2) pop()으로 스택에 삽입하면 3) 정점 번호가 큰 순서대로 스택에 삽입된다. ==> 정점 번호가 작은 순서대로 조회할 수 있다! 3. BFS 특정 지점의 연결 리스트를 조회할 때 연결 리스트를 1) 내림차순 정렬 후 2) pop() 으로 큐에 삽입하면 3) 정점 번호가 작은 순서대로..

9019. DSLR (BFS)

사용한 알고리즘 BFS 접근했던 법 시작점에서 끝 점까지 가는 방법을 출력해야 한다. `True` 와 `False` 로 방문 여부만을 판단하는 일반적인 `visited`리스트를 사용하는 대신 visited = [''] * 10000 를 선언. vstd에 '루트'들을 입력하며 방문처리와 루트 보관을 동시에 한다. vstd[st] 에 아무 값(',')을 채워넣고 BFS 연산 시작. vstd[ed] 가 None이 아닐 때 == 한 번이라도 닿았을 때 vstd[ed]를 출력하고 BFS 종료. 단, vstd[st]에서 임의의 값을 넣고 시작했으므로 적당한 슬라이싱이 필요. 어려웠던 점 '시작점에 방문 처리 안 해도 적당히 잘 풀리겠지' 하다가 틀렸다. 슬라이싱으로 오답을 받았다. D, S, L, R을 최소한의 연..

1