728x90
풀이
입력받은 문자열 S로 만들 수 있는 모든 부분 문자열(list_subStr) 쌍 을 loop를 돌며 구간을 업데이트해 만들어주고,
모든 부분 문자열에 대해 중복된 부분 문자열을 제거한 후
정렬해 dict으로 변환해주었다.(dict_subStr)
이제 어떤 부분 문자열이 몇 번째 부분 문자열인지(몇 점인지) O(1) 안에 구할 수 있다.
다시 처음에 구했던 list_subStr의 부분 문자열 쌍들을 dict_subStr와 매칭시키며 점수를 구해 최고 점수를 가지는 부분 문자열 쌍을 찾으면 된다.
출처
728x90
'PS' 카테고리의 다른 글
[구름톤 챌린지] 8일차 - 통증 [Python] (0) | 2023.08.23 |
---|---|
[구름톤 챌린지] 7일차 - 구름 찾기 깃발 [Python] (0) | 2023.08.23 |
[구름톤 챌린지] 5일차 - 이전수 정렬 [Python] (0) | 2023.08.18 |
[구름톤 챌린지] 4일차 - 완벽한 햄버거 만들기 [Python] (0) | 2023.08.18 |
[구름톤 챌린지] 3일차 - 합 계산기 [Python] (0) | 2023.08.16 |