ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฐ์ํ
def solution(s):
# ์ต์ ์์ถ๊ฐ์ ์ฒ์์๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ก ์ด๊ธฐํ (์ต๋๋ก ๋์ฌ ์ ์๋ ๊ฐ์ด ๋ฌธ์์ด์ ๊ธธ์ด์ด๋๊น)
answer = len(s)
for unit in range(len(s)):
print("===================================")
unit += 1 # ์์ถ ๋จ์์ด๋๊น 1์ ๋ํจ
print("๋ฌธ์์ด ์์ถ ๋จ์ : {}".format(unit))
count = 1 # ๋ฐ๋ณต๋๋ ํ์
result = "" # ์์ถ๋ ๊ฒฐ๊ณผ ๋ฌธ์์ด, ๋จ์๊ฐ ๋ฐ๋๋๋ง๋ค ์ด๊ธฐํ
compression_unit = s[:unit] # ์์ถ ๋ฌธ์์ด ์ ์ฅ
print("์์ถ ๋ฌธ์์ด : {}".format(compression_unit))
for i in range(unit, len(s), unit):
# ๋น๊ต ๋ฌธ์ <- s[i:i+unit]
print("๋น๊ต๋นํ ๋ฌธ์์ด : {} ??? ์์ถ ๋ฌธ์์ด : {}".format(s[i:i+unit], compression_unit))
# ์์ถ๋ฌธ์์ด์ด๋ ๋น๊ต๋ฌธ์์ด์ด๋ ๋น๊ตํ๋ค
if s[i:i+unit] == compression_unit:
print("๊ฐ๋ค! count ์ฆ๊ฐ")
count += 1
else:
print("๋ค๋ฅด๋ค!")
result += str(count) + compression_unit
print("result = {}".format(result))
compression_unit = s[i:i+unit]
count = 1
print("์ต์๊ฐ ๋น๊ต๋ฅผ ํด๋ณด์")
print("answer {} ??? result {}".format(answer, len(result)))
if answer > len(result):
print("์์ถ๋ฅ ์ด ๋ ์์ ๋์ ์ฐพ์")
answer = len(result)
print("answer : {}\n".format(answer))
return answer
s="aabbaccc"
print(solution(s))
===================================
๋ฌธ์์ด ์์ถ ๋จ์ : 1
์์ถ ๋ฌธ์์ด : a
๋น๊ต๋นํ ๋ฌธ์์ด : a ??? ์์ถ ๋ฌธ์์ด : a
๊ฐ๋ค! count ์ฆ๊ฐ
๋น๊ต๋นํ ๋ฌธ์์ด : b ??? ์์ถ ๋ฌธ์์ด : a
๋ค๋ฅด๋ค!
result = 2a
๋น๊ต๋นํ ๋ฌธ์์ด : b ??? ์์ถ ๋ฌธ์์ด : b
๊ฐ๋ค! count ์ฆ๊ฐ
๋น๊ต๋นํ ๋ฌธ์์ด : a ??? ์์ถ ๋ฌธ์์ด : b
๋ค๋ฅด๋ค!
result = 2a2b
๋น๊ต๋นํ ๋ฌธ์์ด : c ??? ์์ถ ๋ฌธ์์ด : a
๋ค๋ฅด๋ค!
result = 2a2b1a
๋น๊ต๋นํ ๋ฌธ์์ด : c ??? ์์ถ ๋ฌธ์์ด : c
๊ฐ๋ค! count ์ฆ๊ฐ
๋น๊ต๋นํ ๋ฌธ์์ด : c ??? ์์ถ ๋ฌธ์์ด : c
๊ฐ๋ค! count ์ฆ๊ฐ
์ต์๊ฐ ๋น๊ต๋ฅผ ํด๋ณด์
answer 8 ??? result 6
์์ถ๋ฅ ์ด ๋ ์์ ๋์ ์ฐพ์
answer : 6
===================================
๋ฌธ์์ด ์์ถ ๋จ์ : 2
์์ถ ๋ฌธ์์ด : aa
๋น๊ต๋นํ ๋ฌธ์์ด : bb ??? ์์ถ ๋ฌธ์์ด : aa
๋ค๋ฅด๋ค!
result = 1aa
๋น๊ต๋นํ ๋ฌธ์์ด : ac ??? ์์ถ ๋ฌธ์์ด : bb
๋ค๋ฅด๋ค!
result = 1aa1bb
๋น๊ต๋นํ ๋ฌธ์์ด : cc ??? ์์ถ ๋ฌธ์์ด : ac
๋ค๋ฅด๋ค!
result = 1aa1bb1ac
์ต์๊ฐ ๋น๊ต๋ฅผ ํด๋ณด์
answer 6 ??? result 9
answer : 6
===================================
๋ฌธ์์ด ์์ถ ๋จ์ : 3
์์ถ ๋ฌธ์์ด : aab
๋น๊ต๋นํ ๋ฌธ์์ด : bac ??? ์์ถ ๋ฌธ์์ด : aab
๋ค๋ฅด๋ค!
result = 1aab
๋น๊ต๋นํ ๋ฌธ์์ด : cc ??? ์์ถ ๋ฌธ์์ด : bac
๋ค๋ฅด๋ค!
result = 1aab1bac
์ต์๊ฐ ๋น๊ต๋ฅผ ํด๋ณด์
answer 6 ??? result 8
answer : 6
===================================
๋ฌธ์์ด ์์ถ ๋จ์ : 4
์์ถ ๋ฌธ์์ด : aabb
๋น๊ต๋นํ ๋ฌธ์์ด : accc ??? ์์ถ ๋ฌธ์์ด : aabb
๋ค๋ฅด๋ค!
result = 1aabb
์ต์๊ฐ ๋น๊ต๋ฅผ ํด๋ณด์
answer 6 ??? result 5
์์ถ๋ฅ ์ด ๋ ์์ ๋์ ์ฐพ์
answer : 5
===================================
๋ฌธ์์ด ์์ถ ๋จ์ : 5
์์ถ ๋ฌธ์์ด : aabba
๋น๊ต๋นํ ๋ฌธ์์ด : ccc ??? ์์ถ ๋ฌธ์์ด : aabba
๋ค๋ฅด๋ค!
result = 1aabba
์ต์๊ฐ ๋น๊ต๋ฅผ ํด๋ณด์
answer 5 ??? result 6
answer : 5
===================================
๋ฌธ์์ด ์์ถ ๋จ์ : 6
์์ถ ๋ฌธ์์ด : aabbac
๋น๊ต๋นํ ๋ฌธ์์ด : cc ??? ์์ถ ๋ฌธ์์ด : aabbac
๋ค๋ฅด๋ค!
result = 1aabbac
์ต์๊ฐ ๋น๊ต๋ฅผ ํด๋ณด์
answer 5 ??? result 7
answer : 5
===================================
๋ฌธ์์ด ์์ถ ๋จ์ : 7
์์ถ ๋ฌธ์์ด : aabbacc
๋น๊ต๋นํ ๋ฌธ์์ด : c ??? ์์ถ ๋ฌธ์์ด : aabbacc
๋ค๋ฅด๋ค!
result = 1aabbacc
์ต์๊ฐ ๋น๊ต๋ฅผ ํด๋ณด์
answer 5 ??? result 8
answer : 5
===================================
๋ฌธ์์ด ์์ถ ๋จ์ : 8
์์ถ ๋ฌธ์์ด : aabbaccc
์ต์๊ฐ ๋น๊ต๋ฅผ ํด๋ณด์
answer 5 ??? result 0
์์ถ๋ฅ ์ด ๋ ์์ ๋์ ์ฐพ์
answer : 0
0
Process finished with exit code 0
์ด๋ ๊ฒ ์ฝ๋๋ฅผ ์์ฑํ์ ๋ ์๊ธฐ๋ ๋ฌธ์ ์ ์ 1๋ ๋ธ๋ ค๊ฐ์ ๋ถ๋๋ค๋ ๊ฒ๊ณผ ๋ค์ ๋จ์ ๋ฌธ์์ด์ ์ฒ๋ฆฌ๊ฐ ์๋์๋ค๋ ์ ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌธ์์ด ๊ธธ์ด๊ฐ 7์ธ๋ฐ ์์ถ๋จ์ 8๊น์ง ๊ตฌํ๋ฉด ์๋ผ! ์ฒ์ ๋ฐ๋ณต๋ฌธ ๋ฒ์ len(s)-1๋ก ์์ ํด์ฃผ์ด์ผํจ, ๋๋ฒ์งธ for๋ฌธ์์๋ ์ข ๋ฃ๋ฒ์๋ฅผ len(s)+1๋ก ํด์ฃผ์ด์ผํจ
def solution(s):
# ์ต์ ์์ถ๊ฐ์ ์ฒ์์๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ก ์ด๊ธฐํ (์ต๋๋ก ๋์ฌ ์ ์๋ ๊ฐ์ด ๋ฌธ์์ด์ ๊ธธ์ด์ด๋๊น)
answer = len(s)
for unit in range(len(s)-1):
print("===================================")
unit += 1 # ์์ถ ๋จ์์ด๋๊น 1์ ๋ํจ
print("๋ฌธ์์ด ์์ถ ๋จ์ : {}".format(unit))
count = 1 # ๋ฐ๋ณต๋๋ ํ์
result = "" # ์์ถ๋ ๊ฒฐ๊ณผ ๋ฌธ์์ด, ๋จ์๊ฐ ๋ฐ๋๋๋ง๋ค ์ด๊ธฐํ
compression_unit = s[:unit] # ์์ถ ๋ฌธ์์ด ์ ์ฅ
print("์์ถ ๋ฌธ์์ด : {}".format(compression_unit))
for i in range(unit, len(s)+1, unit):
print("i๊ฐ {}์ผ ๋".format(i))
# ๋น๊ต ๋ฌธ์ <- s[i:i+unit]
print("๋น๊ต๋นํ ๋ฌธ์์ด : {} ??? ์์ถ ๋ฌธ์์ด : {}".format(s[i:i+unit], compression_unit))
# ์์ถ๋ฌธ์์ด์ด๋ ๋น๊ต๋ฌธ์์ด์ด๋ ๋น๊ตํ๋ค
if s[i:i+unit] == compression_unit:
print("๊ฐ๋ค! count ์ฆ๊ฐ")
count += 1
else:
print("๋ค๋ฅด๋ค!")
result += str(count) + compression_unit if count>1 else compression_unit # 1 ๋ถ์ด๋๊ฑฐ ํด๊ฒฐ
print("result = {}".format(result))
compression_unit = s[i:i+unit]
count = 1
print("i์ ๊ฐ {}".format(i))
result += s[i+1:]
print("์์ถํ ๊ฒฐ๊ณผ : {}".format(result))
print("์ต์๊ฐ ๋น๊ต๋ฅผ ํด๋ณด์")
print("answer {} ??? result {}".format(answer, len(result)))
if answer > len(result):
print("์์ถ๋ฅ ์ด ๋ ์์ ๋์ ์ฐพ์")
answer = len(result)
print("answer : {}\n".format(answer))
return answer
print("i์ ๊ฐ : {}".format(i))
result += s[i:]
๋ ๋ฒ์งธ for๋ฌธ์ด ๋๋๊ณ ๋ง๋ถ์ฌ์ง๋ ๋ฌธ์์ด ์ฝ๋๋ฅผ ๋ฐ๊ฟจ๋๋
ํํ ๋ช์๊ฐ ๊ฑธ๋ ธ์ง..? ํ๊ฒ ๋ง์๋ฐ ์ด ๋ฌธ์ ์๋ง ๋ช์๊ฐ์ ์์๊ฑด์งใ ใ
์ฝ๋ ๋ฆฌ๋ทฐ
- ์ฌ๋ฌ ๋ฒ ์ฐ์ด๋ ๊ฐ์ ๋ณ์์ ๋ด๋๋ค.
- ์ต์๊ฐ min() ํจ์
์์ ์ฝ๋
def solution(s):
# ์ต์ ์์ถ๊ฐ์ ์ฒ์์๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ก ์ด๊ธฐํ (์ต๋๋ก ๋์ฌ ์ ์๋ ๊ฐ์ด ๋ฌธ์์ด์ ๊ธธ์ด์ด๋๊น)
answer = len(s)
for unit in range(len(s)-1):
unit += 1 # ์์ถ ๋จ์์ด๋๊น 1์ ๋ํจ
count = 1 # ๋ฐ๋ณต๋๋ ํ์
result = "" # ์์ถ๋ ๊ฒฐ๊ณผ ๋ฌธ์์ด, ๋จ์๊ฐ ๋ฐ๋๋๋ง๋ค ์ด๊ธฐํ
compression_unit = s[:unit] # ์์ถ ๋ฌธ์์ด ์ ์ฅ
for i in range(unit, len(s)+1, unit):
# ๋น๊ต ๋ฌธ์ <- s[i:i+unit]
# ์์ฃผ ์ฌ์ฉ๋๋ ๊ฐ์ ๋ณ์์ ์ ์ฅํ๋ค.
compare_word = s[i:i+unit]
# ์์ถ๋ฌธ์์ด์ด๋ ๋น๊ต๋ฌธ์์ด์ด๋ ๋น๊ตํ๋ค
if compare_word == compression_unit:
count += 1
else:
result += str(count) + compression_unit if count>1 else compression_unit # 1 ๋ถ์ด๋๊ฑฐ ํด๊ฒฐ
compression_unit = compare_word
count = 1
# ๋จ์ ๋ฌธ์ ๋์ ๋ถ์ฌ์ฃผ๊ธฐ
result += s[i:]
# min() ํจ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ผ๋ก ๋์ฒดํ ์ ์๋ค.
# if answer > len(result):
# answer = len(result)
answer = min(answer, len(result))
return answer
๋ฐ์ํ
'๊ธฐ๋ก > ์ฝํ ์คํฐ๋ ๊ธฐ๋ก' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ต๋ ์ฉ๋์ด ์ ํด์ง FIFO ํ ํด๋์ค (0) | 2020.07.13 |
---|---|
๋๋งต๊ฒ (0) | 2020.07.12 |
๋ฐฐ์ ๋น์ฉ ์ต์ํ (0) | 2020.07.12 |
๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2020.07.11 |
1์ฃผ์ฐจ (0) | 2020.07.11 |
๋๊ธ
๊ณต์ง์ฌํญ
์ต๊ทผ์ ์ฌ๋ผ์จ ๊ธ
์ต๊ทผ์ ๋ฌ๋ฆฐ ๋๊ธ
- Total
- Today
- Yesterday
๋งํฌ
TAG
- ๊ฒ์ํ ์ญ์
- ๊ฒ์ํ ์กฐํ
- ์ ์ฒด๊ฒ์๋ฌผ ์กฐํ
- ๊ฐ๋ฐํ๊ฒฝ๊ตฌ์ถ
- Java
- typeAliases
- ์คํ๋ง๋ถํธ ์๋์์ฑ
- ์๋ฐ
- ๊ฒ์๋ฌผ์กฐํ
- ๋ถํธ ์๋์์ฑ
- ๋ณ๋ช ์ฒ๋ฆฌ
- ๊ฒ์๋ฌผ ์ญ์
- java jdk ์ค์น
- tomcat์ค์น
- ์๋ฃ๊ตฌ์กฐ
- ์๊ณ ๋ฆฌ์ฆ
- ์ดํด๋ฆฝ์ค ํ๊ธ ์ธ์ฝ๋ฉ
- mysql์ค์น
- Algorithm
- ๊ฐ๋ฐ
- java ํ๊ฒฝ๋ณ์
- ๊ฒ์ํ๋ง๋ค๊ธฐ
- ์ดํด๋ฆฝ์ค ์ค์น
- ์จ๋ฆฌ์์ค
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
๊ธ ๋ณด๊ดํจ