inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

7. 송아지 찾기(BFS: Breadth First Search)

마지막 인풋 테스트케이스 반례 질문입니다!

306

밑바닥개발자

작성한 질문수 77

0

안녕하세요! 질 좋은 강의에 감사인사부터 드립니다 :)

다름이 아니라 해당 문제에 대해 강사님의 아이디어만 듣고 스스로 구현해보았는데, 마지막 인풋 테스트 케이스에서 오답이 발생하는데요!? 이후에 강사님 풀이를 보고 조건 하나가 빠져서 오답이 발생했다는 것은 알았는데, 왜 오답이 발생하는지에 대해서는 잘 모르겠어서요.. 인풋이 워낙 큰 값이어서 디버깅하기가 힘드네요..

우선 마지막 인풋 테스트 케이스는

input: 7 8945

output: 1790

인데요!

제가 처음에 작성한 코드는 아래 코드인데요! 선생님 풀이를 본 후 추가시킨 if 문이 주석 처리 해준 부분입니다.

왜 제 풀이로 하면 마지막 인풋에 대해서 1063이라는 아웃풋이 나오게 될까요..? 근본적인 이유가 궁금하네요..

s, e = map(int, input().split())
move = [1, -1, 5]
MAX = int(1e4)
distance = [-1] * (MAX+1)
distance[s] = 0  # 출발지점 거리 0으로 초기화
queue = deque([s])

while queue:
    pos = queue.popleft()
    if pos == e:
        break
    # 3가지 방법으로 이동
    for m in move:
        #if 0 < pos + m <= MAX: # 이 조건이 없으면 마지막 인풋 오답나옴
        if distance[pos + m] == -1:  # 방문한 곳 아니라면!
            distance[pos + m] = distance[pos] + 1
            queue.append(pos + m)

print(distance[e])

 

python 코테 준비 같이 해요!

답변 1

0

김태원

안녕하세요^^

본인 코드 에러는 스스로 디버그하며 잡는게 좋습니다.

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

1

104

2

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

0

108

3

문제가 어디있나요?

0

86

2

변수 or 함수명

0

76

1

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

0

71

1

AA.py 책점 에러

0

63

1

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

0

115

2

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

0

115

1

아나그램 비교 코드

0

123

2

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

0

163

2

문제 링크가있나여?

0

153

2

채점기 Time Limit Exceeded 오류 문의

1

177

2

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

0

132

2

제 코드 좀 봐주세요

0

154

1

예외가 존재할 가능성?

0

100

1

3번이 안풀립니다

0

98

0

5번 틀림

0

124

0

오류원인?

0

104

0

리스트 선언

0

115

1

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

0

114

1

알고리즘

0

72

1

코딩테스트

0

98

1

DFS 순서 질문드립니다.

0

134

2

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

0

93

1