강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김규태님의 프로필 이미지
김규태

작성한 질문수

38군데 합격 비법, 2025 코딩테스트 필수 알고리즘

LinkedList 과제 Fast, slow 포인터

작성

·

12

0

1. 현재 학습 진도

  • 2챕터 과제, 끝에서 K번째 노드값 구하는 문제

  • LinkedList

     

 

2. 어려움을 겪는 부분

  • fast 포인터를 k만큼 움직이고 slow, fast를 동시에 움직여 fast노드가 끝에 도달때까지 반복해 k만큼 떨어진 slow노드를 반환하는것은 이해했습니다.

    그런데 fast 노드를 끝까지 보내는 While 문 조건에서 저는 fast.next가 없을 때 가 마지막 노드라고 생각했습니다.

    하지만 선생님이 실제로 구현할 때는 이전에 구두로 설명하신것과는 약간 다르게 fast 가 마지막 노드가 아닌 거기서 한번 더 반복되어 fast == None 일때까지 움직여 k번째 노드를 찾으시더라고요.



    왜 마지막노드에서 멈추는게 아니라 설명과 좀 다르게 2개의 포인터를 한칸씩 더 움직여 none이 될때까지 움직이도록 했는지 궁금해 강의 끝 시각화 해주신 부분을 봤습니다.



    강의 끝에 시각화 하는 부분에서도 첫번째 풀이방법의 답은 10, 두번째 풀이방법의 답은 9가 나오면서 각 풀이방법의 정답이 달라진것 처럼 나오게 됐습니다.

    구두로 설명하셨던 것보다 결국 index를 한칸 더 가서 fast가 None이 돼야 정답이 되던데 일반적으로 LinkedList 문제에서 마지막 노드까지 반복문을 돌린다고 가정하면 원래 currentNode가 None이 될때까지 돌려서 푸는건가요???


 

이렇게 구체적으로 알려주시면, 더 정확하고 도움이 되는 답변을 드릴 수 있습니다! 😊

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
김규태님의 프로필 이미지
김규태

작성한 질문수

질문하기