오전에 cs강의를 들었다. 파이프 라인의 단점과 개선 방안들이었는데 내용이 잘 들어오지 않았다. 강의가 너무 판서 위주인데 차라리 직접 읽어보는게 나을지도 모르겠다...
알고리즘 문제를 푸는 날이다. 6문제 중 5문제를 풀었고 나머지 한 문제는 개념을 익히는 중이다. 최장공통접두사 문제인데 예전에 한 번 틀렸지만 너무 어려워 넘어갔었던 문제인데 오늘 확실히 개념을 익히고 끝내려고 한다.
전체적으로 문자열로 컨트롤할경우 속도의 감소가 있는 편이었다. 물론 통과하는데는 무리가 없고 빠른 구현을 할 수는 있지만 개선 방안에 대해 인지는 하고 있어야 면접 대비가 될 것 같다. 면접 뿐만 아니라 기본적인 성능 개선에 가장 좋은 방법인듯하다. 문자열은 비용이 크다.
둘째로 저장소도 가능하면 안쓰는 것이 속도나 공간적인 효율성에 좋다. 물론 위와 마찬가지로 구현 속도를 위해서는 쓰는게 편하기 때문에 어떻게 개선을 할 수 있을지 항상 염두를 해두며 풀이하는게 좋을 것 같다.
플로이드 사이클 알고리즘을 알게 되었다. 단방향 그래프에 사이클이 생길 경우 빠르게 찾아내는 방법인데, 토끼와 거북이가 학교 운동장에서 달리기를 하다 토끼가 따라잡는 상황을 생각해보면 된다.
커맨드 패턴에 대한 글을 읽어봤다. 파이로의 풀리퀘스트에서도 얘기한 내용이지만 결국 커맨드에 상태를 표현해줄 인스턴스를 DTO 형식으로 넣어주는 것이 제일 나은 선택인 것 같다.