20210711

Jin·2021년 7월 11일

Facts

프로그래머스 표 편집 문제 풀이

문제: https://programmers.co.kr/learn/courses/30/lessons/81303
풀이:
https://github.com/gringrape/daily_coding_dojo/blob/main/20210710/javascript2/solution.test.js

doubly linked list 를 이용해 해결했다. 문제에서 효율성을 얘기하고 있었기 때문에, 삭제 된 행을 고려하여 행간을 이동하는것이 핵심이라는 것을 생각하게 되었다. 일반적인 배열의 경우 랜덤엑세스는 빠르지만, 삭제나 복원은 느리다. 또, '이 행은 지워졌다' 를 표시하면서 이동한다고 해도, 행의 값을 체크해야하기 때문에 시간이 걸릴 수 밖에 없다. linked list 는 이러한 연산에 아주 잘 어울리는 자료구조인것 같다.

테스트 및 확인 주기를 짧게 가져간것 같아서 좋았다. 리팩토링도 논리적으로 납득이 될때까지 하면서 했다. 다만, 테스트 케이스는 지금 보다 더 상세히 나누자. 함수를 뺀다면, 그결과도 피드백 받으면서 하는게 최선이다.

Findings

0개의 댓글