https://school.programmers.co.kr/learn/courses/30/lessons/81301
def solution(s):
nums = "0123456789"
num_english = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
answer = ""
temp = ""
for i in range(len(s)):
if s[i] in nums: # 숫자일 경우 answer에 추가
answer += s[i]
else: # 영어일 경우
temp += s[i] # 문자 하나씩 temp에 저장
for j in range(len(num_english)):
if num_english[j] == temp: # 저장된 문자가 영어로된 숫자일 때
answer += nums[j]
temp = ""
return int(answer)
num_dic = {"zero":"0", "one":"1", "two":"2", "three":"3", "four":"4", "five":"5", "six":"6", "seven":"7", "eight":"8", "nine":"9"}
def solution(s):
answer = s
for key, value in num_dic.items():
answer = answer.replace(key, value)
return int(answer)
dictionary에 0부터 9까지 값을 할당하고 replace로 변경한다. 딕셔너리의 검색속도가 O(1)이므로 더 나은 코드로 보인다.