문자열 s가 있다고 가정합니다. 실행 길이 인코딩 기술을 사용하여 이것을 인코딩해야 합니다. 아시다시피, 실행 길이 인코딩은 문자열을 인코딩하는 빠르고 간단한 방법입니다. 아이디어는 다음과 같습니다 - 하나의 카운트 및 문자로 반복되는 연속 요소(문자).
따라서 입력이 s ="BBBBAAADDCBB"와 같으면 출력은 "4B3A2D1C2B"가 됩니다.
이 문제를 해결하기 위해 다음 단계를 따릅니다. −
- res :=빈 문자열
- tmp :=s의 첫 번째 문자
- 카운트:=1
- 범위 1에서 s까지의 i에 대해 다음을 수행합니다.
- s[i]가 tmp와 같지 않으면
- res :=res concatenate count concatenate tmp
- tmp :=s[i]
- 카운트:=1
- 그렇지 않으면
- 카운트 :=카운트 + 1
- s[i]가 tmp와 같지 않으면
- return res concatenate count concatenate tmp
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
예
class Solution:
def solve(self, s):
res = ""
tmp = s[0]
count = 1
for i in range(1,len(s)):
if s[i] != tmp:
res += str(count) + tmp
tmp = s[i]
count = 1
else:
count += 1
return res + str(count) + tmp
ob = Solution() print(ob.solve("BBBBAAADDCBB")) 입력
"BBBBAAADDCBB"
출력
4B3A2D1C2B