강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của han9311200463
han9311200463

câu hỏi đã được viết

Hoàn thành C++ Coding Test trong 10 tuần | Thuật toán Coding Test

3-I

3-I 추가 질문있습니다 :)

Đã giải quyết

Viết

·

262

0

안녕하세요 선생님 🙂

선생님 풀이의 설계를 공부한 후에 구현을 해봤는데요, 이해가 되지 않는 부분이 하나있어서 질문 드립니다.

int qSize = q.size()로 하신 후에 for문 안에 범위를 변수로 qSize로 해주셨는데요, 변수를 만들지 않고 for문안에 범위를 q.size()로 해도 같을거라 생각했지만 결과 값이 다르게 나옵니다. 이유가 뭔지 궁금합니다!!

http://boj.kr/44da77cfb1f148c0b2a030fe592933e9

c++코딩-테스트

Câu trả lời 2

1

kundol님의 프로필 이미지
kundol
Người chia sẻ kiến thức

안녕하세요 ㅎㅎ

int qSize = q.size()로 하신 후에 for문 안에 범위를 변수로 qSize로 해주셨는데요, 

이렇게 해야 먼저 쌓은 queue를 기반으로 레벨링을 할 수 있습니다.

		for (int i = 0; i < q.size(); i++)

이렇게 되버리면 queue에 push가 계속일어나 -> size증가해서 레벨링이 안됩니다.

 

왜 레벨링일까요?

image수빈이가 3가지의 경우의 수를 실행 -> 해당 레벨에서 동생 찾을 수 있는지 확인해야하는 로직이 필요합니다.

 

 


또 질문 있으시면 언제든지 질문 부탁드립니다.

좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)

감사합니다.

강사 큰돌 올림.


han9311200463님의 프로필 이미지
han9311200463
Người đặt câu hỏi

아.. 선생님 덕분에 깨달았습니다 ㅠㅠ qSize랑 q.size() 디버그해보니 바로 찍히네요 감사합니다!!

0

han9311200463님의 프로필 이미지
han9311200463
Người đặt câu hỏi

혹시 큐의 크기를 변수로 선언하지 않으면 첫번째 큐의 크기여서 안되는걸까요?

Hình ảnh hồ sơ của han9311200463
han9311200463

câu hỏi đã được viết

Đặt câu hỏi