Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 일반 형식의 문자열을 실행 길이 형식으로 인코딩하는 프로그램

<시간/>

문자열 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
  • 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