๐ ๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/60057
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
๐ ๋ด๊ฐ ์๊ฐํ ํ์ด
# 1. 1~len(s)๊ธ์์ฉ ๋๊ธฐ
# 2. ๋์ ๋ค์ ๋ฌธ์์ ๊ฐ์์ง ํ์ธ
# 3. ๊ฐ์ผ๋ฉด count +1ํ๊ธฐ
# 4. ์์ถ ๋ฌธ์์ด compress ์ str(count)+๋ฌธ์์ด๋ก ์ถ๊ฐ
# 5. ๊ธธ์ด ์ต์๊ฐ min ๊ตฌํ๊ธฐ
๐ป ๋ด ์ฝ๋
def solution(s):
# ์ด๊ธฐ ์ต์ ๊ธธ์ด๋ ์๋ณธ ๋ฌธ์์ด ๊ธธ์ด
answer = len(s)
# ์์ถ ๋จ์ ํฌ๊ธฐ 1๋ถํฐ len(s)๊น์ง ์๋
for i in range(1, len(s) + 1):
tmp = s[:i]
count = 1
compress = ''
# i ๋จ์๋ก ๋ฌธ์์ด์ ํ์ธ
for j in range(i, len(s), i):
# ํ์ฌ ๋จ์์ ๋ค์ ๋จ์๊ฐ ๊ฐ์ผ๋ฉด count ์ฆ๊ฐ
if tmp == s[j:j+i]:
count += 1
else:
# ๋ฐ๋ณต ํ์๊ฐ 1๋ณด๋ค ํฌ๋ฉด(์ด์ ์ ์ค๋ณต ๋ฌธ์์ด ์กด์ฌํ์ผ๋ฉด) count ์ถ๊ฐ
if count > 1:
compress += str(count) + tmp
# ์ด์ ์ ์ค๋ณต ๋ฌธ์์ด ์กด์ฌํ์ง ์์์ผ๋ฉด
else:
compress += tmp
# ๋ค์ ๋จ์๋ก ์ด๊ธฐํ
tmp = s[j:j+i]
count = 1
# ๋ฃจํ ๋ด์์ ํด๊ฒฐ๋์ง ์์ ๋ง์ง๋ง ๋จ์ ๋ฌธ์์ด ์ฒ๋ฆฌ
if count > 1:
compress += str(count) + tmp
else:
compress += tmp
# ์ต์ ๊ธธ์ด ๊ฐฑ์
answer = min(answer, len(compress))
return answer
๐ป ๋ต์
//
๐ ์ฐธ๊ณ ์๋ฃ
https://ljhyunstory.tistory.com/18
์ฝ๋ฉํ ์คํธ --- ๋ฌธ์์ด ์์ถ-(ํ๋ก๊ทธ๋๋จธ์ค / ํ์ด์ฌ)
https://programmers.co.kr/learn/courses/30/lessons/60057 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ฌธ์์ด ์์ถ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ์ ๋ฌธ๊ฐ๊ฐ ๋๊ณ ์ถ์ "์ดํผ์น"๋ ๋ฌธ์์ด์ ์์ถํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๊ณต๋ถ๋ฅผ ํ๊ณ ์์ต๋๋ค. ์ต๊ทผ์ ๋๋์ ๋ฐ
ljhyunstory.tistory.com
โบ๏ธ ์๋ก ์๊ฒ ๋ ์ง์
1.
for j in range(i, len(s), i):
i๋ถํฐ len(s)-1๊น์ง i ๋จ์๋ก ๋ฌธ์์ด ํ์ธ
๐ ๋ฆฌ๋ทฐ
'Algorithm > Implement' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
4659๋ฒ/ ๋น๋ฐ๋ฒํธ/ ๋ฌธ์์ด (๋ค์) (0) | 2025.01.06 |
---|---|
20291๋ฒ/ ํ์ผ์ ๋ฆฌ/ ๋์ ๋๋ฆฌ (0) | 2025.01.05 |
ํ๋ก๊ทธ๋๋จธ์ค/ ๋ชจ์์ฌ์ (0) | 2024.12.28 |
7568๋ฒ / ๋ฉ์น (0) | 2024.12.28 |
20546๋ฒ / ๊ธฐ์ ์ ๋งค๋งค๋ฒ (1) | 2024.12.27 |