⚡️algorithm

[문자열] 프로그래머스 lv1. 숫자 문자열과 영단어

남남이루 2022. 5. 28. 09:58

문제

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

내코드

문자인 애들만 따로 저장해뒀다가, word 딕셔너리의 키랑 같으면 값으로 넣어주기

import re
def solution(s):
    word = {'zero':'0','one':'1','two':'2','three':'3','four':'4','five':'5','six':'6','seven':'7','eight':'8','nine':'9'}
    news = ''
    letter=''
    for i in s:
        if i.isdecimal():
            news+=i
        else:
            letter+= i
        if letter in word:
            print(letter)
            news+=word[letter]
            letter =''


    print(news)
    return int(news)

다른 분 코드

그냥, 키 밸류 맞는 거 있으면 replace 해줘 버리는구나 신박..
dic기준으로 돌면서 키를 다 값으로 바꿔줘버린다.
if 로 탐색도 안해도 된다.
다만, replace 쓸 때, 재할당 해줘야 되는거 잊지 말기

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)