320x100
문제 : https://leetcode.com/problems/sum-of-beauty-of-all-substrings/
문자열의 beauty는 가장 자주 사용되는 문자와 가장 자주 사용되지 않는 문자 사이의 빈도 차이이다.
문자열 s가 주어졌을 때 모든 하위 문자열의 beauty 합을 구해라.
s.length가 500 이므로 완탐을 돌린다.
2차원 반복문을 돌려서 s[start~end]에서 문자의 등장횟수를 갱신하며 탐색당시의 beauty 값을 구해 정답에 더해나간다.
for start = [0, |s|)
문자의 등장횟수를 저장하는 map 갱신
for end = [start, |s|)
s[end] 횟수 + 1
등장횟수 map을 탐색하며 최대등장횟수, 최소등장횟수를 구해서 차이를 정답에 더한다.
시간복잡도는 N = |s|라 할 때, O(N^2)
소스코드
320x100
'알고리즘 문제 > Leetcode' 카테고리의 다른 글
[Leetcode] 662. Maximum Width of Binary Tree (0) | 2022.02.27 |
---|---|
[Leetcode] 847. Shortest Path Visiting All Nodes (0) | 2022.02.26 |
[Leetcode] 127. Word Ladder (0) | 2022.02.12 |
[Leetcode] 121. Best Time to Buy and Sell Stock (0) | 2022.02.04 |
[Leetcode] 454. 4Sum II (0) | 2022.02.03 |
댓글