inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

90. 라이언 킹 심바(BFS활용)

90번 심바문제 질문있습니다.

323

sang ji Choi

작성한 질문수 23

0

69 ~70 번째 줄인

while (!Q.empty()) { Q.pop(); }

res = tmp.dis;

}

이 부분이 이해가 안됩니다. 왜 큐를 제거를 하는지 이전에 다 없어지지 않았나요? 그리고 dis를 하는이유도 궁금합니다. z로 설정을 다하셨는데 왜 갑자기 이렇게 나오는지....

c++ 코딩-테스트

답변 2

0

김태원

안녕하세요^^

심바가 시작위치에서 가장 가까이에 있는 토끼를 찾아 잡아먹는데 그러기 위해서는 심바의 시작위치를 큐에 최초로 넣고 BFS 탐색으로 심바의 시작위치에서 가장 가까이에 있는 토기를 잡아먹습니다. 그리고 두 번째 잡아먹을 토끼를 찾는데 이때 심바는 첫 번째 잡아먹었던 토끼가 있었던 곳에 심바가 있는 상황입니다. 그래서 두 번째 잡아먹을 토끼는 현재 심바의 위치(첫번째 잡아먹은 토끼의 위치)에서 가장 가까운 토끼가 두 번째로 잡아먹을 토끼입니다. 그래서 큐를 다 비우고 현재 심바의 위치(첫번째 잡아먹은 토끼의 위치)를 빈큐에 최초로 넣고 이 지점부터 BFS로 가장 가까운 토끼(두 번째로 잡아먹을 토끼)를 찾는 것입니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요. 90번 심바 문제에 대해 궁금하신 내용에 대해 답변드리겠습니다.

해당 코드에서 while (!Q.empty()) { Q.pop(); } 부분은 큐(Q)가 비어있을 때까지 큐를 계속해서 비워주는 역할을 합니다. 큐를 비워주는 이유는, 다음에 새로운 값을 찾아서 큐에 넣기 위해서입니다. 큐에는 방문해야 할 위치를 순서대로 저장하는 역할을 하고 있습니다.

이전에 큐에 있는 값은 목적지에 도달할 때까지 계속해서 큐에 넣어야 하기 때문에 큐를 비우지 않아요. 매번 큐에는 새로운 위치를 넣고 이동하기 때문에 큐 안에 이전에 저장된 값들은 필요하지 않게 되죠.

res = tmp.dis;res 변수에 tmp.dis 값을 할당하는 부분입니다. 이 코드는 현재 위치(tmp)에서 목적지까지의 최단 거리(tmp.dis)를 res 변수에 저장하는 역할을 합니다.

z로 설정이 되어 있을 때 목적지에 도달하는 경우, 그 때의 최단 거리(tmp.dis)를 res 변수에 저장하는 거에요.

이런 식으로 코드가 실행되며 목적지까지의 최단 거리를 구하게 됩니다.

해당 내용이 이해되셨나요? 추가적인 질문이 있으면 언제든지 물어보세요. 좋은 하루 되세요!

87번 채점 프로그램에 오류가 있는 것 같습니다.

0

89

2

그리디 파트

0

115

2

안녕하세요. 선생님(54번 코드 관련 문의)

0

141

2

테스트 파일 exit_coe_1, time_limit_exceeded 질문

0

143

1

C언어로 코드를 짜면 채점 시에 한 문제 빼고 시간 초과가 발생하는데 해결하는 방법이 있을까요?

0

172

1

19번 질문있습니다

0

123

1

6번 관련 채점오류입니다

0

88

2

22번 문제는 C로 풀어주신 건가요 C++로 풀어주신 건가요?

0

166

2

dev C++ 콘솔창 바로 닫힘

0

245

1

최신화하기

0

171

1

채점이 안되요...

1

261

1

안녕하세요 강사님 정렬에 대해서 설명이 조금 더 듣고 싶습니다.

0

113

1

45번 공주구하기 문제를 list를 이용해서 이렇게 풀어도 될까요?

0

155

1

39번 두 배열 합치기 문제 채점 오류인가 코드 오류인가

0

155

0

채점기에서 틀렸다고 나오는데 이유를 모르겠습니다.

0

149

2

해당 강의에서 C언어로만 진행하는 강의 문의 건

0

145

2

87번 문제 섬나라 아일랜드 질문

0

128

1

16번 문제에서 직접 답을 대입하면 정답이 나오는데 채점에서 wrong answer가 나옵니다.

0

149

1

40번 교집합 문제

0

166

1

43번 뮤직비디오 문제 테스트케이스 4번을 만족 못합니다.

0

170

1

41. 연속된 자연수의 합 문제 질문있습니다.

0

166

1

질문있습니다.

0

193

2

시간초과가 나요

0

172

1

43번 문제 3 ~ 5번에 문제가 있는것 같습니다.

0

249

1