프로그래머스 프론트엔드 데브 코스 프론트엔드 과정의 기록입니다.
어제 구현했던 트리 구조의 전체 문서 조회 기능에서 각각의 루트 페이지를 기준으로 하위 페이지 표시 여부를 결정할 수 있는 토글 기능을 구현하였다.
그 과정에서 api 호출을 하는 과정이 많아짐을 느껴 스토리지를 이용하여 상태를 관리하는 방안으로 코드를 리펙토링 하려고 구상중이다.
제한시간이 정해져있는 개인 프로젝트이다 보니 코드 개선에 더 시간을 쓰고 싶지만 그러지 못할 것 같다. 이것 역시 기한 내에 기본 기능들을 구현하는 연습의 일환이라는 생각이 들게 되었다. 그 과정에서 계속해서 하나의 완성된 기능에 계속해서 예외상황을 개선해나가는 상황에 너무 많은 시간을 보내게 되었고 그 결과 나의 계획에 차질이 생겼고 프로젝트 진행 과정에서의 미숙함을 느끼게 되었다.
일단 기초 기능들의 전체 구현을 이룬 후에 리펙토링을 진행하도록 하는 것이 쉽지가 않다. 이는 내가 컴포넌트들의 상태를 연관짓는 설계를 제대로 하지 못하여서 나타난 결과라고 생각한다.
전체 기능을 구현한 후에 컴포넌트 각각의 상태를 가지게 리펙토링 할 수 있도록 더더욱 연습해야겠고 협업을 대비하여 개인 프로젝트에서 부터 작업일정을 잘 준수하도록 노력해야겠다.
백준 1300 - K번째 수
문제의 출력 결과는 특정 조건을 만족하는 가장 최소값을 찾으라는 점을 통해 결정 문제임을 파악하고 파라메트릭 서치를 활용하여 문제에 접근하였다.
조건을 정하는데에 많은 고민을 하게 되었고 그 결과 min(K / i(행 번호), N) 로 결과값을 도출할 수 있었다.
각 행은 i x 1, i x 2, i x 3, i x 4, ..... , i x j 이기 때문에, K를 i로 나눈 값에 나머지를 버린 값이 그 행에서 K보다 작거나 같은 개수가 되기 때문이다.
그러므로 K를 찾기 위해 초기값 = 1, 마지막 값 = K, 중간 값 = (초기값 + 마지막 값) / 2 으로 시작하는 이분 탐색은 어렵지 않게 적용할 수 있었다.
개인 프로젝트의 최종 기한이 어느 덧 이틀 밖에 남지 않았다. 시간이 부족하다고 느낄 때 마다 초조함을 느끼게 되는 것 같다. 내가 미숙한 부분에 대해서 끊임없이 생각하게 되어 그런 것 같다.
자신감이 많이 낮아지고 있었지만 오늘은 감사하게 지난 한 달의 데브코스 과정에서의 나의 기록을 인정받는 시간을 가지게 되었다.
전혀 예상을 못했었고 아직도 많이 부족한 점이 많다 생각하는 나의 포스팅들에 대하여 좋게 봐주신 점이 무엇일까 생각해보게 되었다.
많이 힘들었지만 나에게 자양분이 될 것이 분명하다라고 생각하며 보냈던 시간과 함께 내 노력을 인정받은 느낌이였고, 지금처럼 꾸준히 더욱 성실히 힘내라는 의미의 상이라고 생각하며 동기부여를 하게 되었다.
꾸준히 나아가며 포기하지 않는 자세의 가치를 다시 한 번 확인할 수 있었던 의미있는 소중한 하루였다. 🙏
업무 관리 툴 Notion 클로닝 프로젝트 - Editor 1차 최종 구현
코딩테스트 대비 문제 해결하기