본문 바로가기
Programming/Programmers

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

by 데이터현 2021. 9. 27.

 

https://programmers.co.kr/learn/courses/30/lessons/81301

 

코딩테스트 연습 - 숫자 문자열과 영단어

네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자

programmers.co.kr

내 풀이 :

def solution(s):
    number = {'zero':'0','one':'1','two':'2','three':'3','four':'4','five':'5','six':'6','seven':'7','eight':'8','nine':'9'}
    answer=''
    temp=''
    for i in s:
        if i.isdecimal():
            answer+=i
        else:
            temp+=i
            if temp in number.keys():
                answer+=number[temp]
                temp=''
    return int(answer)

깔끔한  풀이 :

num_dic = {"zero":"0", "one":"1", "two":"2", "three":"3", "four":"4", "five":"5", "six":"6", "seven":"7", "eight":"8", "nine":"9"}

def solution(s):
    answer = s
    for key, value in num_dic.items():
        answer = answer.replace(key, value)
    return int(answer)

 

- dict와 덜 친하고, replace를 사용할 생각을 못했던 것 같다.

- 더 친해져야 겠다.

댓글