우선, 무게 순서대로 사람을 줄 세웁니다.
맨 앞에 있는 사람이랑 맨 뒤에 있는 사람이랑 보트에 담을 수 있으면 같이 보냅니다.
같이 못 보내면 맨 앞의 사람만 보트에 태워서 보내버립니다.
이걸 반복하다가, 맨 앞의 사람이 보트 제한 무게의 절반 이하가 되면,
무조건 맨 뒤의 사람과 같이 보낼 수 있으므로 남은 사람은 남은 사람 수의 절반의 보트만 있으면 됩니다.
한 수 배우고 갑니다
while문에 answer++ 를 빼놓은 이유는 ceil함수 때문에 빼놓은게 맞는건가요? 생존자가 1명 남았을때 ceil함수를 타면 0이 나오는거같아서요
배워갑니다.
많이 배우고 갑니다. 감사합니다.
배워갑니다..
정렬 후 그냥 양 끝에 있는 사람끼리 묶어서 보내면 되는군요. 실제로 요소를 건드리지 않고 인덱스로 참조하는 것도 확실히 더 효율적이네요. 탈퇴하셔서 더 이상 못 보시겠지만 정말 고맙습니다!!
몸무게가 가장 적은 사람과 합했을때, limit을 초과하면 그 사람은 무조건 혼자 보트를 타야한다........ 명쾌합니다..