[Algorithm][Python] 백준(BOJ) 5014 스타트링크
[문제]
https://www.acmicpc.net/problem/5014
풀이
[내 코드]
import sys
from collections import deque
def bfs(v):
dx = [u, -d]
queue = deque()
queue.append((v, 0))
visited[v] = 1
while queue:
v = queue.popleft()
if v[0] == g:
print(v[1])
return
for i in range(2):
nx = v[0] + dx[i]
if 0 < nx <= f and visited[nx] == 0:
visited[nx] = 1
queue.append((nx, v[1]+1))
print("use the stairs")
f, s, g, u, d = map(int, sys.stdin.readline().split())
visited = [0] * (f+1)
bfs(s)
💡 풀이
처음 시간초과가 났다.
- sys.stdin.readline()로 바꿈 (해결X)
- visited 조건문 위로 합치기 (해결X)
- visited.append() 하지말고 visited[] 로 인덱스 접근하기 (해결)
visited.append()하면 탐색하는데 시간이 오래 걸림!!
댓글남기기