[Java] 입국 심사


[Java] 입국 심사

문제 접근법 1(시간 초과) n명이 줄을 서서 기다리고 있습니다. 빈자리가 나면 한 명을 심사대로 보내거나, 기다렸다가 다른 곳으로 보내면 됩니다. 이를 수도 코드로 구현해보겠습니다. while(남은 인원수 > 0){ if(빈자리 있다면){ if(현재 자리보다 나머지 자리 중 더 빨리 끝나는 곳이 있다면) 그곳으로 보낸다. else 그렇지 않으면, 한 사람을 심사대로 보낸다. 남은 인원수--; } time++; } return time; 위와 같이 구현할 수 있을 것입니다. 그런데 현재 자리보다 나머지 자리들 중 더 빨리 끝나는 곳을 찾기 위해서는 반복문을 돌아야할 것 입니다. 이를 개선하기 위해서는 어떻게 하면 될까요? 초점을 현재 시간에 맞추면 됩니다. 한 사람이 심사대에 들어가서 입국 심사를 언제 마칠지에 초점을 두지 말고, 현재 시간을 기준으로 봤을때 몇명이 최대로 마칠 수 있는가?에 집중해야 합니다. 6, [7,10]이라는 인풋이 주어졌다고 생각해보겠습니다. time: 1...



원문링크 : [Java] 입국 심사