▶ 입력 : 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s
▶ 처리
▶ 반환 : s가 원래 의미하는 숫자
▶ 입력 : "one4seveneight"
▶ 처리
one => 1
seven => 7
eight => 8
▶ 반환 : 1478
문자열에 해당하는 숫자는 1:1로 매칭되므로, dictionary 자료형을 사용해야겠다는 생각이 들었다.
dictionary를 돌면서 문자열을 찾고(find), 있는 경우(find()의 리턴 값이 -1이 아닌 경우)에 replace해주었다.
def solution(s):
match_dic = {'zero': 0, 'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6, 'seven': 7, 'eight': 8, 'nine': 9}
for str_num in match_dic:
if s.find(str_num) != -1:
s = s.replace(str_num, str(match_dic[str_num]))
return int(s)
def solution(s):
match_dic = {'zero': '0', 'one': '1', 'two': '2', 'three': '3', 'four': '4', 'five': '5', 'six': '6', 'seven': '7', 'eight': '8', 'nine': '9'}
for key, value in match_dic.items():
s = s.replace(key, value)
return int(s)