주어진 길이 1와 2길이 의 문자열이 주어지면 다음 기준에 따라 문자열을 최종 형태로 축소하는 데 필요한 단계 수를 계산하는 코드를 작성하십시오 ( 더 이상 함수 일 필요는 없으며 모든 것이 잘 될 것입니다).
문자열이 112112인 경우 다음 과 같이 1, 2 1 및 2를 인쇄해야합니다
1112. 작업을 다시 수행하면 1과 2를 인쇄해야합니다 12. 그런 다음 2를 인쇄하여를 얻습니다 2. 이 문자열은 더 이상 변경되지 않으므로 최종 형식입니다. 3최종 양식에 도달하려면 3 단계가 필요하므로 코드가 출력 됩니다.
다른 규칙
문자열의 길이가 고르지 않으면 마지막 숫자는 그대로 유지됩니다.
더 이상 변경할 수없는 모든 문자열 (예
222222:)은 최종 양식으로 간주됩니다.외부 소스를 사용할 수 없습니다.
코드는
1및의 모든 문자열에서 작동해야합니다2.코드 골프이기 때문에 가장 짧은 코드가 승리합니다.
코드는 모든 단계를 인쇄해야합니다.
모든 입력 방법이 좋습니다.
예
Input >> 122122122121212212
Your code has to print:
211222111111222
11222111222
122111222
2111222
111222
1222
222
Steps:7 (you can omit the "Steps")
---- ---- ---- ----
Input >> 22222221
Your code has to print:
22222211
2222221
2
---- ---- ---- ----
Input >> 2222
Your code has to print:
0
편집 : 크게 편집했습니다. 죄송합니다.
1 11 2. 두 숫자는 모두 한 쌍입니다. 한 쌍의 첫 번째 숫자는 한 쌍의 두 번째 숫자를 렌더링하는 횟수를 나타냅니다. 페어 파트너가없는 모든 최종 홀수 숫자는 그대로 렌더링됩니다.