09009

[프로그래머스 lv1] 숫자 문자열과 영단어 본문

Algorithm/문자열
[프로그래머스 lv1] 숫자 문자열과 영단어
09009

문제 보기

https://school.programmers.co.kr/learn/courses/30/lessons/81301

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

소스 코드

def solution(s):
    answer = ''
    dic = {'zero':'0', 'one':'1', 'two':'2', 'three':'3', 'four':'4',
          'five':'5', 'six':'6', 'seven':'7', 'eight':'8', 'nine':'9'}
    
    tmp = ''
    for i in s:
        tmp += i
        if tmp in dic.keys():
            answer += dic[tmp]
            tmp = ''
        elif tmp in dic.values():
            answer += tmp
            tmp = ''
            
    return int(answer)

 

 

개선 코드

def solution(s):
    answer = ''
    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)