[ํ๋ก๊ทธ๋๋จธ์ค] LV.2 ๋ฌธ์์ด ์์ถ
1. ๋ฌธ์ : Link
aabbcc ๋ฌธ์์ด
abababccc ๋ฌธ์์ด
๋ฌธ์์ด์ ํน์ ๋จ์๋ก ์์ถํ์๋ ๋ฌธ์์ด ๊ธธ์ด๊ฐ ๊ฐ์ฅ ์งง์ ๊ฒฝ์ฐ
2. ํ์ด
๋จผ์ ๋ฌธ์์ด์ ๋๋ ๋จ์๋ฅผ for๋ฌธ์ผ๋ก ๋๋ ค์ค๋ค. (์ต์๋จ์์ธ 1๋ถํฐ ์ต๋๋จ์์ธ ์ ์ฒด๋ฌธ์์ด(s)์ ์ ๋ฐ๊น์ง)
๋ฐ๋ณต๋ฌธ ์์ ์ ์ด๊ธฐํ๋ฅผ ํด์ค๋ค. (์ ์ฒด ๋ฌธ์์ด ์ ์ฅ๊ณต๊ฐ์ธ b = '' / ํด๋น ๋จ์๋ก ์ผ๋ง๋งํผ ๋ฐ๋ณตํด์ค์ง์ ๋ํ cnt = 1(1๋ถํฐ ์์) / ๋ฌธ์์ด ๋จ์์์ ๋จ์๊ฐ ๋ ๋ฌธ์์ด ์ ์ฅ tmp[ :i ]
์ด์ ๋ฌธ์์ด์ ์ ํด์ง ๋จ์๋งํผ ์ค์บํ๋ฉฐ ์ด์ ์ ์ ํด์ง ๋จ์ ๋ฌธ์์ด์ด ์ค๋ณต๋๋์ง ํ์ธํด์ค๋ค.
๋ง์ฝ ์ค๋ณต๋๋ค๋ฉด) cnt๊ฐ์ ์ฌ๋ ค์ค๋ค.
๋ง์ฝ ์ค๋ณต๋์ง ์๋๋ค๋ฉด) cnt๊ฐ์ด 1์ธ์ง ์๋์ง์ ๋ฐ๋ผ ์์ ์ซ์๋ฅผ ๋ถ์ด๊ฑฐ๋ ๋ถ์ด์ง ์๊ณ ๋ฌธ์์ด์ b์ ์ ์ฅ
๋ฌธ์์ด ์ค์บ์ด ๋ค ๋๋ ํ ๋ง์ง๋ง์ ์ค์บํ ๊ฒ์ ๋ํด์๋ tmp์ ๊ฐ์ ์ ์ฅ๋ง ํด์ฃผ๊ณ ๋๋ฌ๊ธฐ ๋๋ฌธ์
ํด๋น ๊ฐ์ b์ ๋ค์ ๋ฃ์ด์ค์ผํ๊ธฐ ๋๋ฌธ์ ์ค์บ ๋ฐ๋ณต๋ฌธ์ด ๋๋ ํ์๋ cnt๊ฐ์ด 1์ธ์ง ์๋์ง์ ๋ฐ๋ผ์ b๋ฌธ์์ด์ ์ถ๊ฐํด์ค๋ค.
ํด๋น ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ list์ ์ถ๊ฐํ๊ณ min๊ฐ return
3. ์ฝ๋
def solution(s):
result=[]
if len(s)==1:
return 1
for i in range(1, (len(s)//2)+1):
b = ''
cnt = 1
tmp=s[:i]
for j in range(i, len(s), i):
if tmp==s[j:i+j]:
cnt+=1
else:
if cnt!=1:
b = b + str(cnt)+tmp
else:
b = b + tmp
tmp=s[j:j+i]
cnt = 1
if cnt!=1:
b = b + str(cnt) + tmp
else:
b = b + tmp
result.append(len(b))
return min(result)
'๐ป Coding Problems Solving > Array | String | Loop' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] LV.2 ์์ด ๋๋ง์๊ธฐ (0) | 2022.04.08 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] LV.2 ๊ฐ์ฅ ํฐ ์ (0) | 2022.04.07 |
[ํ๋ก๊ทธ๋๋จธ์ค] LV.2 ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2022.04.07 |
[ํ๋ก๊ทธ๋๋จธ์ค] LV.2 124 ๋๋ผ์ ์ซ์ (0) | 2022.04.07 |
[ํ๋ก๊ทธ๋๋จธ์ค] LV.2 ์คํ์ฑํ ๋ฐฉ (0) | 2022.04.07 |
์ต๊ทผ๋๊ธ