예를 들어보겠습니다.
queue 안에 ret 턴째에 익은 토마토 집합이 4개가 있다고 합시다.
size = q.size()이므로 7이 되며 해당 루프를 도는 동안 queue는
{ret, ret, ret, ret}
{ret, ret, ret} -> q.pop
{ret, ret, ret, ret+1, ret+1, ret+1} -> 해당 위치 주변에 익을 수 있는 토마토가 3개인 경우
{ret, ret, ret+1, ret+1, ret+1} -> q.pop
....
{ret+1, ..... ret+1}
다음 size는 남은 ret+1의 개수가 되겠죠?
이런식으로 진행이 됩니다. queue의 크기는 늘어가지만 우리에게 필요한건 step이 동일한 초기의 4개이므로 저런식으로 size를 이용하는 거죠.
djgjdgjd 6년 전