์์ถ
์ ์ ์ฌ์ ์ดํผ์น๋ ์นด์นด์คํก์ผ๋ก ์ ์ก๋๋ ๋ฉ์์ง๋ฅผ ์์ถํ์ฌ ์ ์ก ํจ์จ์ ๋์ด๋ ์ ๋ฌด๋ฅผ ๋งก๊ฒ ๋์๋ค.
๋ฉ์์ง๋ฅผ ์์ถํ๋๋ผ๋ ์ ๋ฌ๋๋ ์ ๋ณด๊ฐ ๋ฐ๋์ด์๋ ์ ๋๋ฏ๋ก, ์์ถ ์ ์ ์ ๋ณด๋ฅผ ์๋ฒฝํ๊ฒ ๋ณต์ ๊ฐ๋ฅํ ๋ฌด์์ค ์์ถ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ๊ธฐ๋ก ํ๋ค.
์๋ฅผ ๋ค์ด ์ ๋ ฅ์ผ๋ก KAKAO๊ฐ ๋ค์ด์จ๋ค๊ณ ํ์.
- ํ์ฌ ์ฌ์ ์๋ KAKAO์ ์ฒซ ๊ธ์ K๋ ๋ฑ๋ก๋์ด ์์ผ๋, ๋ ๋ฒ์งธ ๊ธ์๊น์ง์ธ KA๋ ์์ผ๋ฏ๋ก, ์ฒซ ๊ธ์ K์ ํด๋นํ๋ ์์ธ ๋ฒํธ 11์ ์ถ๋ ฅํ๊ณ , ๋ค์ ๊ธ์์ธ A๋ฅผ ํฌํจํ KA๋ฅผ ์ฌ์ ์ 27 ๋ฒ์งธ๋ก ๋ฑ๋กํ๋ค.
- ๋ ๋ฒ์งธ ๊ธ์ A๋ ์ฌ์ ์ ์์ผ๋, ์ธ ๋ฒ์งธ ๊ธ์๊น์ง์ธ AK๋ ์ฌ์ ์ ์์ผ๋ฏ๋ก, A์ ์์ธ ๋ฒํธ 1์ ์ถ๋ ฅํ๊ณ , AK๋ฅผ ์ฌ์ ์ 28 ๋ฒ์งธ๋ก ๋ฑ๋กํ๋ค.
- ์ธ ๋ฒ์งธ ๊ธ์์์ ์์ํ๋ KA๊ฐ ์ฌ์ ์ ์์ผ๋ฏ๋ก, KA์ ํด๋นํ๋ ์์ธ ๋ฒํธ 27์ ์ถ๋ ฅํ๊ณ , ๋ค์ ๊ธ์ O๋ฅผ ํฌํจํ KAO๋ฅผ 29 ๋ฒ์งธ๋ก ๋ฑ๋กํ๋ค.
- ๋ง์ง๋ง์ผ๋ก ์ฒ๋ฆฌ๋์ง ์์ ๊ธ์ O์ ํด๋นํ๋ ์์ธ ๋ฒํธ 15๋ฅผ ์ถ๋ ฅํ๋ค.
ํ์ฌ ์ ๋ ฅ(w) | ๋ค์ ๊ธ์(c) | ์ถ๋ ฅ | ์ฌ์ ์ถ๊ฐ(w+c) |
K | A | 11 | 27: KA |
A | K | 1 | 28: AK |
KA | O | 27 | 29: KAO |
O | 15 |
์ด ๊ณผ์ ์ ๊ฑฐ์ณ ๋ค์ฏ ๊ธ์์ ๋ฌธ์ฅ KAKAO๊ฐ 4๊ฐ์ ์์ธ ๋ฒํธ [11, 1, 27, 15]๋ก ์์ถ๋๋ค.
ํ์ด
def solution(msg):
dic = { chr(i) : i-64 for i in range(ord('A'),ord('Z')+1)}
w = ''
c = ''
i = 0
j = i+2
n = 27
answer = []
while 1:
if msg[i:j] in dic.keys():
if j == len(msg) or i == len(msg)-1:
answer.append(dic[msg[i:j]])
break
j += 1
else :
w = msg[i:j-1]
c = msg[j-1]
answer.append(dic[w])
dic[w + c] = n
n += 1
i = j-1
j = i+2
return answer
'Developer > ๐ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/python] ์์ ๋์งํ (0) | 2020.07.10 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/python] [1์ฐจ]์บ์ (0) | 2020.07.10 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] ์ ํ์ ์๊ฐ (0) | 2020.07.08 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] ์คํ์ฑํ ๋ฐฉ (0) | 2020.07.08 |
[ํ๋ก๊ทธ๋๋จธ์ค/python] ํ์ผ๋ช ์ ๋ ฌ (0) | 2020.07.08 |