알고리즘/프로그래머스

숫자 문자열과 영단어 (파이썬)

매화of사군자 2021. 7. 13. 18:49

문제를 읽은 후 든 생각

- 영단어를 key로 가지며 숫자를 value로 가지는 dict 생성

- for문을 돌며 해당 영단어를 가지고 있는지 확인

 

코드

더보기

def solution(s):
    words = {'zero' : '0', 'one' : '1', 'two' : '2', 'three' : '3',
            'four' : '4', 'five' : '5', 'six' : '6',
            'seven' : '7', 'eight' : '8', 'nine' : '9'}
    
    for num in words:
        while num in s:
            s = s.replace(num, words[num])
                
    return int(s)

 

회고

- 문제에 같은 숫자와 영단어가 반복하여 등장하지 않는다는 문장이 없는데 다른 사람의 풀이를 보면 한 번만 체크하는 코드들이었다.

- 혼자 생각하기에는 여러 번 체크하는게 더 올바른 코드인 것 같아서 for loop 안에 while을 추가하였다.