2017 카카오코드 본선 문제 리틀 프렌즈 사천성 문제를 풀어봤다

https://school.programmers.co.kr/learn/courses/30/lessons/1836

로직은 다음과 같다.

  1. 사전순으로 빠른 값을 반환해야 하므로 정렬 후 진행한다.(HashMap에 빠른 값부터 저장)
  2. canDelete() 함수를 통해 삭제할 수 있는지를 검증하고, 가능할 시 삭제(배열의 값을 .으로 변환)
  3. 삭제가 되었으면 다시 처음으로 돌아간다.

canDelete()

  *

이 경우를 생각해보자. 한번 이하로 꺾으면서 이동할 수 있는 방법은

  1. → 후 ↓
  2. ↓ 후 →

총 2가지이다.