package Ġalgo . expert . solutions . easy Ċ Ċ fun Ġrun Length Encoding ( string : ĠString ): ĠString Ġ{ ĊĠĠĠ Ġif Ġ( string . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ"" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġvar Ġencoding Ġ= Ġ"" ĊĠĠĠ Ġvar Ġcurrent Run Ġ= Ġstring [ 0 ] ĊĠĠĠ Ġvar Ġcurrent Run Size Ġ= Ġ 1 ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġuntil Ġstring . length ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnext Ġ= Ġstring [ i ] ĊĊĠĠĠĠĠĠĠ Ġif Ġ( current Run Size Ġ>= Ġ 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġencoding Ġ+= Ġ"${ current Run Size }${ current Run }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Run Ġ= Ġnext ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Run Size Ġ= Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( next Ġ== Ġcurrent Run ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Run Size ++ ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġencoding Ġ+= Ġ"${ current Run Size }${ current Run }" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Run Ġ= Ġnext ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcurrent Run Size Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġencoding Ġ+= Ġ"${ current Run Size }${ current Run }" ĊĊĠĠĠ Ġreturn Ġencoding Ċ } Ċ