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