TIL - Day 22

MyeonghoonNam·2021년 8월 31일
0

TIL

목록 보기
26/49
post-thumbnail

프로그래머스 프론트엔드 데브 코스 프론트엔드 과정의 기록입니다.

8월 31일 (화)

📚 TIL

1. 업무 관리 툴 Notion 클로닝 프로젝트 진행


2. 코딩테스트 대비 문제 해결하기



📮 Feelings

1. 업무 관리 툴 Notion 클로닝 프로젝트 진행

오늘은 생각보다 예상했던 기능들을 구현하는데에 시간이 오래걸렸다.

각각의 기능 함수들을 분리하는 작업을 진행하였고 어제 계획했던 삭제하고자 하는 특정 문서의 하위 페이지들의 전체 삭제 기능은 다행히 구현하게 되었다.

하위 페이지들의 전체 탐색에 BFS알고리즘을 활용하여 각 태그들의 id 값을 조회하여 전체 삭제가 이루어지도록 구현하였다. 그러나 페이지 렌더링 과정에서 하위 페이지들이 일부만 삭제된 상태에서 렌더링이 이루어지는 문제가 나타나게 되었고, 비동기처리 문제임을 인지한 후에 async / await으로 해당 문제를 해결하였다.

처음에는 따로 함수를 만들어 조치하였는데 함수가 아닌 단순 반복문에 await을 활용하고 라우팅 역시 await을 이용해 반복문을 통한 통신이 끝난 후에 동기적으로 라우팅이 이루어지도록 코드를 정리하게 되었다.


2. 코딩테스트 대비 문제 해결하기

백준 1981 - 배열에서 이동

문제에서 출력 결과로 특정 조건을 만족하는 가장 최소값을 찾으라는 점을 통해 결정 문제임을 파악하고 파라메트릭 서치를 활용하여 문제에 접근하였다.

그 후 파라메트릭 서치의 조건 안에서 bfs 알고리즘을 활용하여 최소값을 추려나갔고 그 과정에서 많은 반복문이 활용되는 점을 느껴서 Queue 자료구조를 배열 형태가 아닌 단일 연결리스트로 직접 구현하여 시간복잡도를 줄이는데에 성공하였고 문제를 해결할 수 있었다.


마치며 🙏

오늘은 예상했던 계획보다 기능 구현을 못하였고 그로인해 내일이 더더욱 바빠질 예정이다.

하나의 의아한 점을 발견하면 끝까지 모든 부분을 수정하려고 하다보니 이도저도 아닌 상태에서 너무 많은 시간이 소요되는 것 같다.

제한적인 시간안에 좀 더 효율적인 능률을 낼 수 있는 연습을 하기 위해서 이러한 습관을 바꿀 수 있도록 연습해야겠다.

내일은 최소 계획을 만족시키고 코드를 개선하는 작업을 진행하는 순서를 지키도록 개발에 임해야겠다.


📅 Future Action Plans

  • 업무 관리 툴 Notion 클로닝 프로젝트 - Editor를 통한 문서 수정사항 자동 저장 기능 구현

  • 업무 관리 툴 Notion 클로닝 프로젝트 - Sidebar CSS 초안 구현

  • 코딩테스트 대비 문제 해결하기

profile
꾸준히 성장하는 개발자를 목표로 합니다.

0개의 댓글