3줄 요약: DP 난 도대체 왜 팰린드롬을 분할하는 것인지 모르겠다. 어느 문제에서는 유사회문인지를 출력하라 하지 않나, 어느 문제에서는 공장을 개설하지 않나... 팰린드롬은 내가 제일 싫어하는 문제 중 하나이다. 이 문제를 풀 때는 DP를 두 번 사용하여 풀 수 있다. dp[i][j] = i번째 문자부터 j번째 문자까지 회문인지 체크하는 dp dp2[i] = i번째 인덱스에서 분할 개수의 최솟값 dp[i][j]가 약간 이해가 안 갈 수 있는데, 예를 들어보자. 문자열 'BOTTOM' 에서 제일 앞의 인덱스를 1이라고 할 때, dp[1][6]은 false이고, dp[2][5]는 true, dp[3][4]도 true... 이렇게 볼 수 있다. 이를 어떻게 구현할까? dp[i][j] 가 true이고, str..