개미 수열은 아래와 같은 수열을 말한다.
1, 11, 12, 1121, 122111, 1122131, ...
주어진 수를 왼쪽에서 부터 1개 이상의 연속된 숫자와 그 숫자의 연속된 개수로 읽는다.
1 : 1이 1개 -> 11
11 : 1이 2개 -> 12
12 : 1이 1개, 2가 1개 -> 1121
1121 : 1이 2개, 2가 1개, 1이 1개 -> 122111
....
N이 주어질 때 N번째 단계의 개미 수열을 출력
def solution(n):
answer = "1"
for _ in range(n-1):
start = 0
previous_answer = ""
while start < len(answer):
num_consecutive_number = count_consecutive_number(answer[start:])
previous_answer += answer[start] + str(num_consecutive_number)
start += num_consecutive_number
answer = previous_answer
return answer
def count_consecutive_number(str):
start = str[0]
for idx,num in enumerate(str):
if num != start:
return idx
return len(str)