inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

9. 미로의 최단거리 통로(BFS : Breadth First Search)

8번문제와 차이점 질문

183

Jerry

작성한 질문수 19

0

8번 문제의 경우 size만큼 탐색을 하셨는데, 9번은 그렇지 않습니다. 이부분에 대한 차이를 정확히 감이 잡히지 않아 질문드립니다. 좋은 강의 감사드립니다.

python 코테 준비 같이 해요!

답변 1

0

김태원

안녕하세요^^

9번은 7번(송아지 찾기)과 같은 거리배열을 사용해서 했기 때문에 L(레벨값)이 필요없이 한 것입니다.

일단은 7번 이해하시고, 그 연장선상에서 2차원 거리배열을 쓴 9번을 이해하셨으면 합니다.

7번 송아지 찾기를 8번 스타일처럼 L(레벨값)으로 푼게 아래 코드입니다. 

7번 송아지 찾기 문제를 통해서 거리배열을 쓰는 것과 L(레벨값)을 쓰는 것을 비교해보시기 바랍니다.

import sys
from collections import deque
#sys.stdin=open("in1.txt", "r")
MAX = 10000
ch = [0] * (MAX+1)
n,m = map(int,input().split())
ch[n] = 1
dQ = deque()
dQ.append(n)
L=0
flag=1
while dQ and flag==1:
    size=len(dQ)
    for i in range(size):
        if(flag==0):
            break
        now = dQ.popleft()
        for next in (now-1, now+1, now+5):
            if(next==m):
                print(L+1)
                flag=0
                break
            if 0 <= next <= MAX:
                if ch[next]==0:
                    dQ.append(next)
                    ch[next] = 1
    L+=1

9번같은 문제는 2차원 거리배열을 쓰는게 좋습니다.

기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.

0

76

2

스택에서 ')'을 만나는 경우

0

77

3

문제가 어디있나요?

0

63

2

변수 or 함수명

0

60

1

침몰하는 타이타닉 문제 질문입니다

0

53

1

AA.py 책점 에러

0

57

1

오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.

0

111

2

5.동전분배하기 문제 밑에코드도 정답이될까요?

0

108

1

아나그램 비교 코드

0

115

2

AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.

0

159

2

문제 링크가있나여?

0

147

2

채점기 Time Limit Exceeded 오류 문의

1

162

2

동적계획법은 사용하는 문제

0

124

2

제 코드 좀 봐주세요

0

147

1

예외가 존재할 가능성?

0

96

1

3번이 안풀립니다

0

92

0

5번 틀림

0

112

0

오류원인?

0

97

0

리스트 선언

0

106

1

침몰하는 타이타닉(그리디) 문제 질문

0

109

1

알고리즘

0

65

1

코딩테스트

0

88

1

DFS 순서 질문드립니다.

0

120

2

left, right를 사용한 풀이법에 대한 질문입니다

0

88

1