문자열이 주어지고 페어관계가 있는 인덱스 배열이 주어진다. 이를 통하여 만들수 있는 사전적으로 가장 작은 단어를 만들라.
완성된 그룹나누기에 나눠진 그룹의 총 문자열 관리를 위해 작업 수행중 문자열을 순서에 맞추어 기입하는 구조를 추가하려고 하였으나, 이것이 많은 연산을 필요로 하는지 시간초과의 결과를 얻게 되었다.
따라서 최종 결과물에서 문자열을 정리하는 방향으로 수정. 이후 문자열을 순서대로 재구성하되 위의 그룹나누기에 참여한경우 나눠진 그룹에 따라 문장를 배정받게 하였고, 그외의 경우 기존의 문자열을 그대로 붙이는 방향으로 코드를 작성하였다.
그리고 드디어 문제 풀이를 완수 할수 있었다.
주어지는 행렬 크기 배열을 행렬 곱을 진행하여 연산횟수를 구하였을 때 최소의 연산횟수를 돌려주는 문제.
// 테스트 2
입력값 〉 [[7, 1], [1, 6], [6, 6], [6, 5], [5, 8], [8, 9], [9, 9], [9, 2], [2, 1], [1, 9]]
기댓값 〉 349
풀이과정 :
1. [7, 1]
2. [[1, 6], [6, 6], [6, 5], [5, 8], [8, 9], [9, 9], [9, 2], [2, 1]] 279
3. [[7, 1], [1, 1], [1, 9]] => 7*1*1 + 7*1*9 =70
4. 279 + 70 = 349
// 테스트 3
입력값 〉 [[3, 9], [9, 5], [5, 2], [2, 2], [2, 7], [7, 4], [4, 5], [5, 9], [9, 4], [4, 6]]
기댓값 〉 498
풀이 과정 :
1. [[3, 9], [9, 5], [5, 2]], [[2, 2]], [[2, 7], [7, 4], [4, 5], [5, 9], [9, 4], [4, 6]] 로 나누어 나누니것끼리 우선 계산.
2. [[3, 2], [2, 2], [2, 6]] 을 얻을수 있으며 이때의 연산횟수는 450이다.
3. [[3, 2],[2, 2]]을 먼저 연산하고 나머지를 연산한다. 이 경우 12 + 36 으로 총 48의 연산 횟수를 얻게 된다.
4. 따라서 최종적으로 498의 현산횟수를 가지게 되며 이는 예측된 최소값과 일치한다.
socket.io 서버로 하는 단순한 멀티 룸 채팅.
위의 결과를 server-side로 구현해보기.
이전 작업의 연결과정에서 graphql-hooks의 상요감이 좋지 않았음을 이야기하긴했지만 해당 쿼리 사용이 랜더 되는 함수내에서 그대로 사용 되어야 하는 조건을 요구하기에 이런저런 조건 부사용이 매우까다 롭다는것을 재확인하였다.
따라서 원할한 사용을 위해 axios 사용으로 방향을 수정해야할것 같다. 어찌되었건 서부 코멘트 연결 까지 진행하는 와중에 저러한 이슈가 생겨 해당작업을 다시 진행해봐야 할듯하다. 내일은 뮤테이션 적용과 생성 부분을 테스트하는것 까지 진행할수 잇으면 좋겠다.