๋ฌธ์ ์ ๋ชฉ | ์ ๋ต๋ฅ | ๋์ด๋ |
๋ฌธ์์ด ์์ถ | 43% | Lv.2 |
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ฌธ์ ์์ฝ
๋ฌธ์์ด s๊ฐ ์ฃผ์ด์ง๋ค.
์กฐ๊ฑด 1) ๋ฌธ์์ด์ 1๊ฐ ์ด์์ ๋จ์๋ก ์๋ผ์ ์์ถํ๋ค.
์กฐ๊ฑด 2) ์์ถ ์ฌ๋ถ๋ ํ์ฌ ๋ฌธ์์ด์ด ๋ฐ๋ก ๋ค์ ๋ฌธ์์ด๊ณผ ๋์ผํ๋ฉด ์์ถํ ์ ์๋ค.
์กฐ๊ฑด 3) ๋ฌธ์์ด์ ์๋ฅผ ๋ ์กฐ๊ฑด 1) ์ดํ์ธ ๋ ๋ฌธ์์ด์ ๊ทธ๋๋ก ๋ถ์ฌ์ฃผ๋ฉด ๋๋ค.
์ด๋, ์์ถํ ์ต์์ ๋ฌธ์์ด ๊ธธ์ด๋ฅผ ๋ฐํํด๋ผ
ํ์ด
Step1. ์ต๋ ๋ช ๊ฐ๊น์ง ์๋ฅผ ์ ์๋์ง ํ์ธ -> [1~len(s)//2]
Step2. ํ์ฌ ๋ฌธ์์ด๊ณผ ๋ค์ ๋ฌธ์์ด ๋น๊ต
โปโป ์ฑ
์ ํ์ด์ ์ ์ฌํ๊ฒ ํ์๋ค. step2์์ ์ฑ
์ ๊ฒฝ์ฐ ์ด์ ๋ฌธ์์ด๊ณผ ๋ค์ ๋ฌธ์์ด์ ๋น๊ตํ๋๋ก ํ์๋ค. -> for๋ฌธ ์กฐ๊ฑด์ด ์ผ๋ถ ์ฐจ์ด
def solution(s):
result=len(s)
if result==1:
return 1
for length in range(1, len(s)//2+1, 1):
idx=0
์์ถ_string=""
last_iter=0
for idx in range(0, len(s)-2*length+1, length):#idx+2*length<=len(s) -> idx<len(s)-2*length+1
if s[idx:idx+length]==s[idx+length:idx+2*length]:
last_iter+=1
else:
if last_iter!=0:
์์ถ_string+=str(last_iter+1)
last_iter=0
์์ถ_string+=s[idx:idx+length]
if last_iter!=0:
์์ถ_string+=str(last_iter+1)
์์ถ_string+=s[idx+length:]
result=min(len(์์ถ_string), result)
return result
'์๊ณ ๋ฆฌ์ฆ๐ฅ > ๋ฌธ์ ํ์ด (Python)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon]18405. ๊ฒฝ์์ ์ ์ผ (Gold_5) 2024/4/9 (0) | 2024.04.09 |
---|---|
[Programmers] ๊ดํธ ๋ณํ (Lv.2) 2024/4/5 (0) | 2024.04.06 |
[Programmers] ๊ธฐ๋ฅ๊ณผ ๋ณด ์ค์น (Lv.3) 2024/4/1 (1) | 2024.04.01 |
[Programmers] ์๋ฌผ์ ์ ์ด์ (Lv.3) 2024/3/31 (0) | 2024.03.31 |
[LeetCode] 641. design_circular_deque (Medium) 2023/5/11 (0) | 2023.05.11 |