2022/08/24 수요일

Gong Intaek·2022년 8월 24일
0

일상

목록 보기
441/1001
post-thumbnail

오늘 한 일

  • leetcode
    • Smallest String With Swaps (medium)
  • 실내 운동

문제 풀이

Smallest String With Swaps (medium)Github

문자열이 주어지고 페어관계가 있는 인덱스 배열이 주어진다. 이를 통하여 만들수 있는 사전적으로 가장 작은 단어를 만들라.

풀이 고민중

문제가 되었던 부분의 그룹나누기를 성공 하였다. 이제 이것을 바탕으로 문자열을 재구성하는 부분을 정의하면 한가지 방법을 마무리할수 있을것 같다. 그것이 문제풀이에 성공할지는 그 다음 이야기지만 말이다.

풀이중

최적의 행렬 곱셈 (Level 3)Github

주어지는 행렬 크기 배열을 행렬 곱을 진행하여 연산횟수를 구하였을 때 최소의 연산횟수를 돌려주는 문제.

문제가 되는 예문
// 테스트 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 학습중

서버와 클라이언트의 연결 작업에 착수 하였다. 연결을 진행해보니 사용하고자한 스택인 graphql-hooks의 사용형식이 뭔가 애매하다는 생각이 든다. 그래서 axios를 사용한 요청또한 병행하여 학습을 진행하였다.

변수를 추가한 요청을 수행하는 과정을 진행하면서 요청 쿼리에 부족한 부분도 발견되고 하여서 해당 부분의 수정도 진행하고 이런저런 이슈를 진행하면서 학습을 진행하였다. 아직은 배울게 많긴하지만 적용할만한게 그다지 없다는게 문제이긴하다.


진행 중단중인 프로젝트

socket.io - chatapp

홈페이지 만들기

pathfinder(미로 길찾기 게임)

profile
개발자가 되기위해 공부중

0개의 댓글