~๋ชฉ์ฐจ~
๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/60057
๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ
[Python] 2, 4, 7, 17, 18, 20 ์คํจ ํด๊ฒฐ ๋ฐฉ์
๋ค๋ฅธ ๋ถ์ ํ์ด๋ฅผ ๋ณด๊ณ ์ฐธ๊ณ ํ์ฌ ๊ณต์ ํฉ๋๋ค
๋ณธ์ธ์ ๋ฐ๋ณต ๋ฐ์์ด 1์ด๋ผ๋ ์ ๋ถ ๋ฌธ์์ด์ ํฌํจํ์ฌ ์ดํ '1'์ ์ ๊ฑฐํ๋ ๋ฐฉ์์ผ๋ก ์งํํ์ต๋๋ค.
์ด๋ 2์๋ฆฌ ์ด์์ ์นด์ด๋๊ฐ ๋ฐ์ํ๋ฉด ๋ฌธ์ ๊ฐ ๋ฉ๋๋ค.
'10' -> '0'
'11' -> ''
'12' -> '2'
...
์ด๋ฌํ ๊ฒฐ๊ณผ๊ฐ ๋ํ๋๊ธฐ ๋๋ฌธ์
๋๋ค
์์ฑ ์ฝ๋
def solution(s):
result = len(s)
for i in range(1, len(s)//2+1):
previous = s[:i]
count = 1
string = ''
for j in range(i, len(s), i):
if previous == s[j:j+i]:
count += 1
else:
string += str(count)+previous if count != 1 else previous
previous = s[j:j+i]
count = 1
string += str(count)+s[j:] if count != 1 else s[j:]
# string = string.replace('1', '') # 10, 11, 12 ... ๋ฌธ์ ๋ฐ์
result = min(result, len(string))
return result
๋์์ด ๋์ จ๋ค๋ฉด ์ข์์ ๋๋ฌ์ฃผ์ธ์๐
REFERENCE
https://eunhee-programming.tistory.com/135