[BOJ] 1509번: 팰린드롬 분할

https://www.acmicpc.net/problem/1509


우선 s[i:j]가 Palindrome인지 판단하는 isPalindrome[][] 테이블을 O(N^2)만에 채웠고, 이와 더불어 s[:i]의 분할갯수를 저장하는 D 테이블을 만들었습니다. D 테이블 또한 O(N^2)으로 채울 수 있는데, 바로 아래와 같이 채우면 됩니다.


BABABA -> D[6] = min(D[6], D[5]+1)

BABABA -> D[6] = min(D[6], D[3]+1)

BABABA -> D[6] = min(D[6], D[1]+1)


https://github.com/blisstoner/BOJ/blob/master/1509.cpp


'알고리즘 > BOJ' 카테고리의 다른 글

[BOJ] 6986번: 절사평균  (0) 2018.03.22
[BOJ] 10835번: 카드게임  (4) 2018.03.20
[BOJ] 11049번: 행렬 곱셈 순서  (0) 2018.03.20
[BOJ] 5557번: 1학년  (0) 2018.03.20
[BOJ] 1036번: 36진수  (0) 2018.03.16
[BOJ] 2531번: 회전 초밥  (0) 2018.03.15
  Comments