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

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

<시간/>

문자열 s가 있다고 가정합니다. s는 실행 길이로 인코딩된 문자열이므로 디코딩된 버전을 찾아야 합니다. 아시다시피, 실행 길이 인코딩은 문자열을 인코딩하는 빠르고 간단한 방법입니다. 아이디어는 다음과 같습니다 - 단일 개수 및 문자로 반복되는 연속 요소(문자). 예를 들어 문자열이 "BBBBAAADDCBB"와 같은 경우 "4B3A2D1C2B"로 인코딩됩니다.

따라서 입력이 s ="4B3A2D1C2B"와 같으면 출력은 "BBBBAAADDCBB"가 됩니다.

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • 출력:=빈 문자열
  • num:=빈 문자열
  • s의 각 문자 i에 대해 다음을 수행합니다.
    • 내가 알파벳이면
      • 출력 :=출력 + i*(숫자로서의 숫자)
      • num:=빈 문자열
    • 그렇지 않으면
      • num :=num + i
  • 반환 출력

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시

class Solution:
   def solve(self, s):
      output = ""
      num=""
      for i in s:
         if i.isalpha():
            output+=i*int(num)
            num=""
         else:
            num+=i
      return output
ob = Solution() print(ob.solve("4B3A2D1C2B"))
를 반환합니다.

입력

"4B3A2D1C2B"

출력

BBBBAAADDCBB