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

섬섬's 개발일지·2022년 2월 15일
0

프로그래머스

목록 보기
18/50

문제

  • 1478 -> 'one4seveneight'
  • 234567 -> '23four5six7'
  • 10203 -> '1zerotwozero3'

이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.
참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다.

숫자영단어
0zero
1one
2two
3three
4four
5five
6six
7seven
8eight
9nine

코드

def solution(s):
    answer = 0
    number = {
        'zero':0,'one':1,'two':2,'three':3,'four':4,'five':5,
        'six':6,'seven':7,'eight':8,'nine':9
    }
    tmp = ''
    for t in s:
        if '0'<=t<='9':
            answer = answer * 10 + int(t)
        else:
            tmp += t
            if tmp in number:
                answer = answer * 10 + int(number[tmp])
                tmp = ''
    return answer
profile
섬나라 개발자

0개의 댓글