개발/PS

프로그래머스 Lv1 숫자 문자열과 영단어(파이썬)

유훈 | Yuhun 2021. 12. 30. 16:28
반응형

풀이

def solution(s):
    answer = 0
    matching_number = {'zero': '0', 'one': '1', 'two': '2', 'three': '3', 'four': '4', 'five': '5',
                       'six': '6', 'seven': '7', 'eight': '8', 'nine': '9'}

    for num in list(matching_number.keys()):
        while True:
            if s.find(num) != -1:
                s = s.replace(num, matching_number.get(num))
            else:
                break
    answer = int(s)
    return answer

Dictionary에 문자와 숫자를 매칭시켜 두고 s를 검사하면서 존재하는 문자를 숫자로 바꿔주었어요.

Dictionary를 이용하면 어렵지 않게 풀 수 있는 문제였습니다!

 

(사실 find()를 사용하지 않고 replace()만 사용해도 괜찮지만 좀 더 정확한 결과를 생각하고 넣어주었어요.)

 

반응형