https://leetcode.com/problems/number-of-good-ways-to-split-a-string/
예를 들어 문자열 "aaca"에서 문자열 "aacab"로 가는 단계에서 b를 확인하고자 할 때 "aaca" 모든 문자열을 확인할 필요가 있을까 의문이 들었다. 알고 싶은 것은 서로 다른 문자 "ac"를 알면 "ac"에서 "b"가 있는지 찾고 없으면 "acb"를 추가해주면 되는 것이다.
1. i = 0일 때(처음일 때) cache에 첫 번째 문자를 저장한다.
2. 이전 cache에 현재 문자가 있으면 현재 cache값은 이전 cache와 같게 한다.
3. 이전 cache에 현재 문자가 없으면 현재 cache값에 이전 cache에 현재 문자를 더한 값을 저장한다.
오른쪽도 마찬가지로 순서마다 cache값을 저장한다.