728x90
반응형
References
아래 링크의 강의 중 Section 24. Step Back From the Tail
의 내용을 추려 이번 글을 작성하였습니다.
The Coding Interview Bootcamp: Algorithms + Data Structures on Udemy
Solution
function fromLast(list, n) {
let slow = list.getFirst();
let fast = list.getFirst();
while (n > 0) {
fast = fast.next;
n--;
}
while (fast.next) {
slow = slow.next;
fast = fast.next;
}
return slow;
}
눈여겨봐야 할 부분은 두 개의 while
문의 기능이다.
첫 번째
while문
n
이 0
보다 클 동안 while문
을 돌면서 변수 fast
를 한 칸씩 앞으로 전진시킨다. 결과적으로 변수 fast
에 할당된 node
의 위치는 변수 slow
에 할당된 node
보다 n
만큼 앞서게 된다.
두 번째
while문
fast.next
가 true
인 동안 변수 slow
와 fast
한 칸씩 전진시킨다. fast.next
의 값이 null
이 되는 지점이 곧 tail
을 뜻하므로 이 때의 slow
는 곧tail
에서 n
만큼 떨어진 node
와 같다.
728x90
반응형
'👩💻 Programming > Coding Test 문제 풀이' 카테고리의 다른 글
[BaekJoon] 1931번 회의실 배정_JavaScript (0) | 2022.06.24 |
---|---|
[BaekJoon] 1744번 수 묶기_JavaScript (0) | 2022.06.23 |
중간 노드 찾기(Find the Middle Node) (0) | 2022.04.05 |
피보나치의 수열(Fibonacci Sequence) (0) | 2022.04.05 |
나선형 매트릭스(Spiral Matrix) (0) | 2022.04.05 |
댓글