3190. 뱀,

·2025년 9월 14일
0

백준 알고리즘

목록 보기
244/272

해결전략

  • 문제를 읽어보면, 여기가 핵심이다.

  • 뱀의 머리를 추가 하거나, 꼬리를 삭제하거나의 동작을 해야 한다.

덱을 사용해야 겠다. 는 것을 정해야 한다.

위의 규칙에 따르면

  • 오로지 머리를 가지고만 진행하는 것이므로, 다른 몸의 꼬리까지에 대해서 이동해야 겠다는 생각을 할 필요가 없다.

방향 전환은 이렇게 했다.

  • idx 번호를 가지고 D가 나오든 L이 나오든 잘 판단해서 변경.

  • 방향 전환하기

뱀의 머리가 몸통이나 꼬리 만나는 경우에 대해 생각해보기.

// .ssssss
// ......s
// sss

// 여기서 아래의 sss 에서 가장 처음이 머리라고 했을때
// 위로 올라가는 연산이라고 하자.

// 그렇다면 나의 몸과 반드시 충돌한다..

// 덱으로 판별하기에는 시간복잡도가 적절치 않고,
// vertex로 하고 있기 때문에 가장 많이 사용해왔던 visited를
사용하면 가능할것 같다는 생각을 함.

정책

  • 주석으로 대체함.

  • 해당 코드

종료 조건 처리.

  • 코드
profile
🔥🔥🔥

0개의 댓글