풀이 입력받은 문자열 S로 만들 수 있는 모든 부분 문자열(list_subStr) 쌍 을 loop를 돌며 구간을 업데이트해 만들어주고, 모든 부분 문자열에 대해 중복된 부분 문자열을 제거한 후 정렬해 dict으로 변환해주었다.(dict_subStr) 이제 어떤 부분 문자열이 몇 번째 부분 문자열인지(몇 점인지) O(1) 안에 구할 수 있다. 다시 처음에 구했던 list_subStr의 부분 문자열 쌍들을 dict_subStr와 매칭시키며 점수를 구해 최고 점수를 가지는 부분 문자열 쌍을 찾으면 된다. 출처 구름LEVEL 난이도별 다양한 문제를 해결함으로써 SW 역량을 향상시킬 수 있습니다. level.goorm.io