인프런 커뮤니티 질문&답변
6-J 놀이공원 문제 질문
작성
·
356
0
안녕하세요 강사님.
풀이관련해서 질문인데요.
이분탐색으로 최소 시간을 구하는 것까지 이해했는데요.
(ret - 1)에 대해서 다시 구하는게 잘 이해가 안되서요 ㅜ.
N명이 모두 탈 수 있는 최소 시간이 ret이고,
그보다 1분 전시간에 탈 수 있는 인원을 구해서 N번 아이가 탈 때의 놀이기구 번호를 구하는 거로 이해하면 될까요?
답변 1
2
큰돌
지식공유자
안녕하세요 재윤님ㅎㅎ
자 이 코드는 mid는 시간을 상징하죠?
3 3 3 이렇게 되어있을 때 (놀이기구가)
6, 7, 8초 이렇게 하면서 딱 맞는 시간을 찾습니다.
합쳐서 >= n이 되는 수로요.
자 근데 여기서 ret - 1을 한 이유는
처음에 m부터 시작하기 때문입니다.
m개의 놀이공원 즉, 모든 놀이공원을 다 한번씩 탄다는 가정을 넣었기 때문에 - 1을 해야 합니다.
예를 들어서.
3 3 3 일경우
6 > 2, 7 > 2, 8 > 2, 9 > 3
이 나오죠?
근데 9일 때 temp = m부터 시작하니 3명이 탄게 아니라 4명이 탄 걸로 인식을 할 겁니다. 코드가. 그렇기 때문에 - 1을 해서 이렇게 딱 맞는 경우인 경우 9 > 8이 되게 만드는 것입니다. 그렇게 해서 9분이 되었을 때 결과적으로 2가 나오게 하는 코드입니다.
제가 그림을 그려봤는데요. 첨부합니다. ㅎㅎ 참고해주세요.


또한, 해당 강의는 좀 더 설명이 좋게 리뉴얼 하도록 하겠습니다.
감사합니다.





