https://school.programmers.co.kr/learn/courses/30/lessons/81301
https://github.com/stellaluminary/Programmers
dict의 값을 기반으로 만약 해당 값의 key와 같은 것이 있다면 그것으로 치환해주는 작업을 진행해줍니다.
def solution(s):
d = {'zero':'0', 'one':'1', 'two':'2', 'three':'3', 'four':'4', 'five':'5', 'six':'6', 'seven':'7', 'eight':'8', 'nine':'9'}
answer = ''
tmp = ''
for i in range(len(s)):
if s[i].isdigit():
answer += s[i]
elif s[i].isalpha():
tmp += s[i]
if tmp in d:
answer += d[tmp]
tmp = ''
return int(answer)
단순히 dict를 활용한 replace 방법을 진행하는 방법 또한 존재한다.
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)
dict 외 list를 통한 깔끔한 코드를 나타낼 수도 있습니다.
그러나 이 역시 방법 2와 마찬가지로 replace를 활용합니다.
def solution(s):
words = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine']
for i in range(len(words)):
s = s.replace(words[i], str(i))
return int(s)