주어진 두큐의 합이 동일하게 만들수 있는 최소의 작업 횟수를 돌려주거나 불가능한경우 -1을 돌려주는 문제.
최대한 단순하게 접근 해보기로 하였다. 어제의 작업에서 모든 큐의 총합, 각큐의 총합, 최소값과 최대값을 얻어 두었고 그중 불가능한경우는 따로 빼두었다.
해서 가능하다고 판단 된 경우에서 양 큐중 총합이 절반보다 큰경우의 큐값을 하나빼서 작은쪽에 하나를 붙여넣고 다시 측정하고 하는 방향으로 문제풀이를 진행하였다.
예외 조건으로 한쪽큐의 모든 값이 빼내진 상태가 나타나면 해당경우는 풀이불가 처리하여 앞서 정리한경우와 동일하게 처리하게 하였다.
이렇게 풀이하여 얻은 결과는 상당 부분 풀이 완료 결과를 보내왔다. 그외의 경우는 시간초과결과를 나타내었다. 이제 이 방법을 더 효율적으로 만들 방법을 고민해봐야겠다.
socket.io 서버로 하는 단순한 멀티 룸 채팅.
위의 결과를 server-side로 구현해보기.
firebase 사용법 배우기
serverless lambda 학습하기