본문 바로가기
  • Adillete
【스터디노트】/▷TIL

코테 스터디 24일차 TIL + 오늘의 학습 키워드 투포인터 - 토끼와 거북이 알고리즘

by 아딜렛 2025. 5. 3.


- 오늘의 학습 키워드 linkedList two pointer
- 공부한 내용 본인의 언어로 정리하기

  연결 리스트가 주어졌을때 그 리스트에 사이클이 존재하는지 여부를 확인

사이클이란 리스트내의 노드에서 계속 next 포인터를 따라가다보면 다시 같은 노드로 돌아올수 있는 상황

투포인터

-느린 포인터: 한번에 한 노드씩 이동

-빠른 포인터: 한번에 두 노드씩 이동 

function hasCycle(head);
  if head is null or head.next is null;
      return false;
      
      slow= head//
      fast =has.next
      
      
      while slow != fast;
        if fast is null or fast.next is null;
          return false; 
          
       slow = slow.next
       fast = fast.next.next
       
     return true;

 

- 오늘의 회고
  - 어떤 문제가 있었고, 나는 어떤 시도를 했는지

  pos를 이해못했음
  - 어떻게 해결했는지

gpt로 물어봤음
  - 무엇을 새롭게 알았는지

①   투포인터 문제를 어떻게 접근해야할지 몰랐는데 slow, fast로 나누어서 푸는 법 배움

②  pos 꼬리의 next 포인터가 연결된 노드의 인덱스 함수에 전달되는 매개변수 아님

③  연결 리스트에 사이클이 있다 == 리스트 내에 어떤 노드에서 계속 next 포인터를 따라가면 다시 같은 노드에 도달할수 있다.
  - 내일 학습할 것은 무엇인지