본문 바로가기

개발/Python & Flask

코딩테스트 다시 준비 시작 - DFS&BFS (ft. 파이썬)

후...

스택 - stack = [] (list 형태를 append, pop 함수로 스택처럼 사용)

print(stack(::1)) #최상단 원소부터 출력)

큐 -

from collections import deque
queue = []
(list 형태를 append, popleft, reverse 함수로 큐처럼 사용할수 있지만, deque 가 더 효율적)

 

미로찾기 문제

틀렸던 점....

1. 나도 모르게 스택으로 구현해버렸다가 큐로 바꿈 (무의식으로 dfs 해버린 것)
2. 경계좌표 방문 안하기 조건에서 0을 빼서 (0,1) (5,0) 과 같은 좌표 싹다 안가버리기

문제점 : result 변수에 카운트해서 해결하려고 한 점. 최단거리 계산이 부정확.
두갈래 길로 나뉠때 2개를 visited에 append 하게 되니, popleft가 2번 되면서 result 값이 늘어나버림..

 

결국 힌트를 받아 최단거리를 방문한 노드에 새기는 방법으로 해결했다.

반응형