
문제 링크입니다 : 알고리즘 유형 : walker - runner 관련 자료구조 : linked list 링크드 리스트가 주어졌을 때, 중간 지점의 값을 리턴하는 함수를 만들 때 사용한다. 간단하게 생각하면 리스트 전체를 한 번 순회해서 리스트의 길이를 알아낸 후, 그 절반만큼만 head에서부터 이동하면 중간 지점의 값을 얻을 수 있다. (이걸 two-path라고 한다.) 워커 러너 알고리즘은, 워커는 한번에 한 칸씩 이동시키고 러너는 한번에 두 칸씩 이동하도록 하기만 하면 된다. 이렇게 반복하다가 러너가 끝나면 워커는 중간에 있게 된다. 간단한 알고리즘이지만 이후에 복잡한 링크드 리스트를 다룰 때, 매우 유용하게 사용하게 되므로 반드시 알고 있어야 하는 개념이다. 문제 링크입니다 : https://le..
알고리즘/알고리즘 유형
2020. 5. 3. 15:55