주어지는 햄버거 재료 배열에서 순서에 맞는 재료를 찾아 햄버거를 조합하여 만들어진 햄버거의 갯수를 돌려주는 문제
고민하는 풀이방법의 중요점은 효율성이다. 입력되는 배열의 값이 매우 클때도 존재하기 때문에
그에 대한 고려를 생각하면서 풀려고 하니 적절한 방법이 떠오르지가 않았다.
한참을 고민하다가 효율성을 내비두고 풀이법을 고민해보았다. 그러다 지나간버린 부분에대해 고민하지않고 현재 포인터를 기점으로 생각 하기로 했다.
현재를 기준으로 사용하지 않고 지나가버린 값들은 배열에 입력한다. 매 선택마다 현재부터 뒤로 4번째까지의 값과 지나가버린 값중 마지막 3값을 사용하여 현재 조합가능한 값을 찾고 해당값이 존재하면 그에 맞는 나머지값의 제거와 현재값의 제거를 진행한다.
그리고 다음 위치에 포인터를 가져다 두고 다시 반복 수행한다. 일치하는 것이 없는 경우 다음 위치로 포인터를 옮긴다.
이러한 방식으로 풀이를 진행하니 실패한경우에도 시간초과는 나지 않았으나, 뭔가 고려하지 못한 문제의 조항이 있는듯하다. 조금더 고민해봐야겠다.
socket.io 서버로 하는 단순한 멀티 룸 채팅.
위의 결과를 server-side로 구현해보기.
firebase 사용법 배우기
serverless lambda 학습하기