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

알고리즘 저장소·2021년 7월 10일
0

프로그래머스

목록 보기
16/29
post-custom-banner

1. 요약

숫자 영단어와 숫자가 들어있는 문자열은 숫자로 치환하는 문제

2. 아이디어

문자열에 있는 문자들을 탐색하면서 탐색된 문자가 숫자 문자이면, answer에 이어붙이고 영문자를 이어붙이는 역할을 하는 변수(word)에 추가한다. 만약 변수의 값이 숫자 영단어가 되면 숫자 영단어에 해당하는 숫자를 answer에 이어붙이고 빈문자열을 word에 할당한다.


3. 코드

keys = ('zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine')
values = (str(i) for i in range(10))
number_dict = dict(zip(keys, values))

def solution(s):
    answer = ''
    word = ''
    for ch in s:
        if ch.isdigit(): answer += ch
        else:
            word += ch
            if word in keys:
                answer += number_dict[word]
                word = ''
    
    return int(answer)
post-custom-banner

0개의 댓글