728x90
https://school.programmers.co.kr/learn/courses/30/lessons/17684
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋์๊ฐ๋์ ๊ฐ๊ณ ์ํด์ 50์ค์ง๋ฆฌ ์ฝ๋๋ฅผ ์งฐ๋๋ฐ
์ ์ถํ๊ณ ๋ณด๋๊น ๋ค๋ฅธ ์ฌ๋๋ค ์ฝ๋๊ฐ ๊ฑฐ์ ๋ค ๋ด ์ ๋ฐ์ด์๋ค
ํํ
def solution(msg):
answer = []
mydict = list("0ABCDEFGHIJKLMNOPQRSTUVWXYZ")
idx = 0
temp = 0
prev=''
cur = msg[idx]
while idx+1 <= len(msg)-1:
if prev != '':
mydict.append(prev+cur)
next = msg[idx+1]
# ํ์ฌ ์
๋ ฅ์ด ์ฌ์ ์ ์์ผ๋ฉด, ์ธ๋ฑ์ค๋ฅผ ๊ธฐ์ตํด๋๊ณ ์
๋ ฅ์ ๋ค์ ๊ธ์ ์ถ๊ฐ
if cur in mydict:
temp = mydict.index(cur)
while True:
next = msg[idx+1]
if cur + next in mydict:
cur += next
idx += 1
if idx >= len(msg)-1:
break
next = msg[idx]
temp = mydict.index(cur)
else:
next = msg[idx+1]
break
## ๋ง์ง๋ง ์
๋ ฅ๊ฐ์ ๋ํ ์ฒ๋ฆฌ ##
if idx >= len(msg)-1:
if cur in mydict:
answer.append(mydict.index(cur))
else:
answer.append(len(mydict)+1)
break
# ๊ธฐ์ตํด๋ ์ธ๋ฑ์ค ๊ฐ์ง๊ณ ์์ธ๋ฒํธ ์ถ๋ ฅ
answer.append(temp)
# ํ์ฌ ์
๋ ฅ๊ฐ update
prev=cur
if idx+1 <= len(msg)-1:
cur = msg[idx+1]
idx += len(cur)
## ๋ง์ง๋ง ํ ๊ธ์ ๋จ์์ ๊ฒฝ์ฐ ์ฒ๋ฆฌ ##
if len(cur) == 1:
if cur in mydict:
answer.append(mydict.index(cur))
else:
answer.append(len(mydict)+1)
return answer
๋๋ฌด ์ด์ง๋ฝ๋ฐ
์ผ๋จ ๋ด๊ฐ ์ฝ๋ ์ด๋ป๊ฒ ์งฐ๋์ง๋ง ๊ธฐ๋กํด๋๊ณ
์ ์ ์ฐจ๋ฆฌ๊ณ ๋ค๋ฅธ ์ฌ๋๋ค ํ์ด ์ฝ์ด๋ด์ผ๊ฒ ์
728x90
'์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด > ๊ตฌํ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ํ๋ ์ฆ4๋ธ๋ก (0) | 2023.07.19 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ฐฉ๋ฌธ ๊ธธ์ด (0) | 2023.06.22 |
[ํ๋ก๊ทธ๋๋จธ์ค]๊ณผ์ ์งํํ๊ธฐ (0) | 2023.06.17 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ (0) | 2023.06.07 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํ๋ก์ธ์ค (0) | 2023.06.06 |