소문자 문자열이 있다고 가정하고 하나의 고유한 문자를 포함하는 하위 문자열의 총 수를 찾아야 합니다.
따라서 입력이 "xxyy"와 같으면 하위 문자열이 [x, x, xx, y, y, yy]
이므로 출력은 6이 됩니다.이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- 총계:=0
- 이전 :=빈 문자열
- s의 각 문자 c에 대해 다음을 수행합니다.
- c가 이전과 같지 않으면
- 이전 :=c
- 온도 :=1
- 그렇지 않으면
- temp :=온도 + 1
- 총계 :=총계 + 온도
- c가 이전과 같지 않으면
- 총 수익
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예
class Solution: def solve(self, s): total = 0 previous = '' for c in s: if c != previous: previous = c in_a_row = 1 else: in_a_row += 1 total += in_a_row return total ob = Solution() print(ob.solve("xxyy"))
입력
"xxyy"
출력
6