코딩 테스트 후기
못 풀 난도의 문제는 없었다. 다만 오류 케이스에 대해서 차분하게 대처 하지 못했던 부분이 크다.
문제 풀이 방식
- 배열을 핸들링 하는데 있어서… shift, pop 같은 행위는 자제하도록 하자. shift가 적합한 경우였을 수도 있겠지만 차분하게 어떤 동작을 해야 하는 함수인지를 기억하자
- 함수는 최대한 기능별로 쪼개서 추후에 디버깅을 할때도 어느 부분이 이슈인지 편리할 수 있도록 하자. 쪼개기는 했다.. 다만 원본 array를 핸들링 하는 함수들을 사용하는 바람에 다시 손대기 어려워 했던 것 같다.
퍼포먼스에 대해서
- 특정 Array에 item을 지우는 것에 대해서… 왜 spread를 썼는지 모르겠다. 비교했을 때 spread로 이어 붙이는 것 보다 concat이 약 200ms 더 퍼포먼스가 나왔다. (length 10000 기준)
- reduce 함수내에서 accumulator 에 매번 새로운 배열을 할당하는 부분이 문제였다. reducer를 쓸거였으면 제대로 썼어야 했는데.. 멍청하게 사용한 것 같다.
저녁에 다시 풀어보면 30분이면 다시 두 문제를 해결할 시간이었다. 1시간 30분을 남겨놓고 몇몇 케이스를 통과하지 못한 상태에서 개선해내지 못한 부분은 많은 반성이 필요한 것 같다…