알고리즘

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

오승미 2022. 2. 24. 22:45

✔️ code

 

def solution(s):
    answer = s
    
    #숫자와 영단어 매칭
    number_dict={'zero':0, 'one':1, 'two':2, 'three':3, 'four':4,
                'five':5, 'six':6, 'seven':7, 'eight':8, 'nine':9}
    
    for key, value in number_dict.items():
        if answer.find(key)!=-1: #만약 key 를 answer에서 발견한다면, (반환값이 정상)
            answer=answer.replace(key, str(value))  
            
    return int(answer)

 

>>>

 

지금 보니 0~9 를 설정할 때 string 형으로 해주는게 편할 수도 있을 것 같다.

바로 replace()를 사용해도 되는데 find() 를 사용하면서 코드가 조금 복잡해졌다. 

-> 코드를 눈에 보였을 때 한번에 이해되는 것을 좋아해서 그런 것 같다 는 구차한 변명을 ..

replace에는 int 형을 사용할 수 없기 때문에 str(value)를 해주지 않으면 오류가 난다.