def solution(s):
dict = {'zero' : 0,
'one' : 1,
'two' : 2,
'three' : 3,
'four' : 4,
'five' : 5,
'six' : 6,
'seven' : 7,
'eight' : 8,
'nine' : 9}
answer = ''
i = 0
while i < len(s):
if s[i].isnumeric(): # 숫자면 pass
answer += s[i]
i += 1
else: # 알파벳이면
j = i + 1 # j: 알파벳 끝 인덱스
while True:
if s[i:j+1] in dict:
number = dict[s[i:j + 1]]
answer += str(number)
i = j + 1
break
else:
j += 1
return int(answer)
몇 십 분 .. 어쩌면 한 시간 이상 짰다. 다 풀고 다른 사람들이 푼 코드를 살펴보고 나서야 정말 쉽게 풀 수 있는 문제라는 걸 깨달았다 ... 너무 충격적이라서 잊어버리고 싶지 않은 마음에 기록한다 ..
def solution(s):
dict = {'zero' : 0,
'one' : 1,
'two' : 2,
'three' : 3,
'four' : 4,
'five' : 5,
'six' : 6,
'seven' : 7,
'eight' : 8,
'nine' : 9}
for k, v in dict.items():
s = s.replace(k, str(v))
return int(s)
고작 replace를 떠올리지 못했다는 것이 매우 충격적이다 .. . .