파이썬 알고리즘 문제풀이(2) - 탐색&시뮬레이션(string, 1차원, 2차원 리스트 탐색 )
이미 정렬되어 있는 리스트 합치기
이미 정렬된 리스트들에 대해 해당 리스트들에 포인터를 생성해서 서로 비교하면서 새로운 정렬을 수행하는 것이 sort() 내장함수를 쓰는 것보다 시간복잡도가 훨씬 적다. 효율적인 알고리즘을 위해서 바로 생각나는 쉬운 방법이 아니라 문제가 지닌 뜻을 생각하고 조금 더 고민하여 작성하도록 하자.
포인터
위에서 설명하긴 했지만 시간 복잡도를 줄이기 위해서는 포인터를 잘 활용해야 할 것 같다.
리스트 append와 insert
append와 insert의 차이에 대해 크게 생각해보지 않았는데 이번 기회에 생각을 해보게 되었다. append는 리스트의 가장 뒤 쪽에 추가하는 것이고, insert는 원하는 곳에 추가하는 것이다. 이 차이를 잘 알아두고 리스트에 요소를 추가할 때 각각의 특성을 잘 활용하자.
Leave a comment