해결된 질문
작성
·
144
0
안녕하세요 선생님 🙂
선생님 풀이의 설계를 공부한 후에 구현을 해봤는데요, 이해가 되지 않는 부분이 하나있어서 질문 드립니다.
int qSize = q.size()로 하신 후에 for문 안에 범위를 변수로 qSize로 해주셨는데요, 변수를 만들지 않고 for문안에 범위를 q.size()로 해도 같을거라 생각했지만 결과 값이 다르게 나옵니다. 이유가 뭔지 궁금합니다!!
답변 2
1
안녕하세요 ㅎㅎ
int qSize = q.size()로 하신 후에 for문 안에 범위를 변수로 qSize로 해주셨는데요,
이렇게 해야 먼저 쌓은 queue를 기반으로 레벨링을 할 수 있습니다.
for (int i = 0; i < q.size(); i++)
이렇게 되버리면 queue에 push가 계속일어나 -> size증가해서 레벨링이 안됩니다.
왜 레벨링일까요?
수빈이가 3가지의 경우의 수를 실행 -> 해당 레벨에서 동생 찾을 수 있는지 확인해야하는 로직이 필요합니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
0
아.. 선생님 덕분에 깨달았습니다 ㅠㅠ qSize랑 q.size() 디버그해보니 바로 찍히네요 감사합니다!!