너비탐색

    백준 1697 숨바꼭질 (BFS)

    이거 어렵지는 않았다. 그냥 BFS로 원하는 목표치가 나올때까지 갯수를 확인하면서 루프를 돌리면 된다. 내가 헤맨 부분은 이동할때 2배로 이동하는 부분이 존재하기 때문에 start 점과 end점을 (start = 0 and visited[t-1]==0: tmp.append(t-1) visited[t-1] = 1 if t+1

    백준 7576 토마토 (BFS, 행렬 그래프, python)

    이번 문제는 원리도 파악하고 간단히 풀수 있다고 생각하고 코딩을 진행했다. 모든 예를 통과하고 반례도 통과하며 잘 코딩했다고 생각했으나 시간초과의 벽을 넘지 못하고 고수들의 코드를 보게 되었다. 원리는 어렵지 않다. 1. 토마토가 존재하는 곳을 찾아서 큐에 넣어준다. 2. 큐에서 하나씩 꺼내며 너비탐색을 진행한다. 3. 탐색이 끝나면 익지 않은 토마토가 존재하는지 확인한다. 4. 전부 익었다면 걸린 날짜를 출력, 익지 않은게 있다면 -1을 출력한다. 이를 토대로 코딩을 진행했다. 그러나 아래의 코드는 시간초과로 쓸수가 없었다. from collections import deque m,n = map(int, input().split()) L = [] for _ in range(n): tmp = list(m..