2022/01/28 금요일

Gong Intaek·2022년 1월 28일
0

일상

목록 보기
231/1031
post-thumbnail

오늘 한 일

  • leetcode
    • Uncrossed Lines. (medium)
  • 걷기 운동

문제 풀이

Uncrossed Lines. (medium)

입력된 두 배열에 같은 값들을 선으로 잇는데 이어진 선이 교차하지 않고 가장 많이 이을수 있는 선의 갯수를 돌려주는 문제.

문제 풀이를 위해 몇가지 방법을 생각하고 시험해보았다. 반복문을 사용하여 모든 경우 수를 테스트 해보는 법. 입력된 배열을 값들을 객체의 키값으로 사용하고 해당 키값의 인덱스들을 배열화 하고 첫배열의 값들을 바탕으로 해당 값을 이을지 안이을지를 구별하여 경우의 수를 찾는 방법 등.

~~대체로 생각해본 방법들이 모두 모든 경우의 수를 확인하고 최대값을 돌려주는 구조였다. 그래서 긴입력값의 경우 올바른 해를 돌려주기 위한 수행시간이 오래걸리는 문제를 확인하였고 해당 문제를 해결하기 위해 고민해본 코드도 해당이슈를 넘지 못하였다. 조금더 고민해봐야 겠다.
~~

~~고민된 풀이법에서 중복된 결과를 여러번 반복 하고 있을것이라는 생각이 들었다. 해서 해당 부분의 결과를 객체화하고 해당 과정을 반복하지 않게끔 하는 구조로 재구성하여 결과를 얻고자 하였다. 하지만 중복되는 부분을 명확하게 가를 기준이 애매하여 해당 부분에 대해 더 고민을 해봐야 할것 같다. ~~

이전 풀이들에서 고민했던것처럼 연산이 수행되는 와중에 중복 수행되는 부분을 한번만 수행하게끔 수정하여 제공된 문제들을 모두 통과하는 것을 확인함. 하지만 문제풀이의 최소 조건만 만족한것으로 여겨짐.

제공되는 더 나은 해결책을 제시한 다른 유저들의 결과를 참고 해보니 해당 유저의 경우 가질수 있는 두 배열의 index 선택에 따른 결과를 2차배열에 누적하여 주어지는 계산이 반복되지 않고 한번씩만 수행되게 풀이함.

해당 결과를 보고 어쩌면 무의식적으로 배열을 사용한 풀이법은 느리다라는 생각이 박혀 있는지도 모르겟다는 생각을 함. 좀더 유연한 풀이 방법을 생각해낼수 있도록 공부해야겠음.


남은 것

클라이언트

  • 현재 상태에서 로그인 창 부분을 재활용하여 로그인 된상태 창을 구현 로그인 결과를 표기하고 로그아웃 버튼구현.
  • 실패시에는 실패 문구를 표현하고 로그인창으로 돌아가는 버튼구현.
  • 로그인 성공, 실패에 따른 결과 부분의 표현을 적용할 것.

서버

  • 데이터베이스와의 연결고리 구성

데이터베이스

  • 유저 네임, 비번만을 컬럼으로 가지는 유저 테이블 구성

코딩 문제 풀이 잘못된 폴더 선택 문제

  • 커밋기록 유지한채로 폴더 옮기는 법 찾는 중

공부 할 것(꾸준히)


개인프로젝트

홈페이지 만들기

  • 클라이언트와 연결된 서버 서버와 서버서버를 통괄하는 메인서버로 구성할 예정
  • 서버스택은 node.js, express, typescript를 사용할 예정
  • 데이터 베이스는 mysql 를 바탕으로 typeorm을 사용할 예정
  • 배포는 aws를 사용 할 예정.(새로 생성한 계정을 이용)
  • 클라이언트 부분은 아직 생각중
  • 제작 기간은 딱히 정하진 않음 - 생각하고 정리되면 그에 맞춰 행동할 예정

오늘은...

수면 문제 조절중. 프로젝트 진도 나간것 없음.

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

0개의 댓글