a = input()
prevChar = '' charCnt = 0
for i in range(len(a)): if prevChar != a[i]: prevChar = a[i] if (charCnt != 0): print(charCnt, end = '') charCnt = 1 print(a[i], end = '') else: charCnt += 1 print(charCnt) |
이 프로그램은 aaaabbbccccdd 와 같은 문자열이 입력되면, a4b3c4d2와 같이 각 문자열의 개수를 세어 문자뒤에 붙여주는 것이다.
이 프로그램은 문자열이 바뀌는 지점과 바뀌지 않는 지점에서의 처리로 구현하였다.
변수 prevChar는 이전 문자를 담고 있으며, 최초에는 공백 문자를 가진다.
변수 charCnt는 문자가 바뀔 때 1로 초기화 하여, 바뀌지 않을 때에는 1씩 증가한다.
바뀔 때 출력을 하여주고, 처음에는 문자 수 세는 것을 출력하지 않고, 문자만을 출력하며, 그 후에는 바뀔 때 문자 수와 문자를 출력한다.
반복문이 종료되면, 마지막 문자의 문자 수를 출력하여 준다.