노력에는 지름길이 없으니까요

(★) 프로그래머스 - 숫자 문자열과 영단어 Python.ver 본문

Python/프로그래머스

(★) 프로그래머스 - 숫자 문자열과 영단어 Python.ver

데건 2024. 7. 1. 15:15
728x90

 

해결일 언어 레벨 테스트명
20240701 Python level 1  숫자 문자열과 영단어

 

링크 : https://school.programmers.co.kr/learn/courses/30/lessons/81301#qna

 

 


 

내 코드

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

def solution(s):
    stck = ""
    word = ""
    
    for i in range(len(s)) :
        if s[i].isdigit() :
            if word != "":
                stck += test[word]
                word=""
            stck += s[i]
        else :
            word+=s[i]
    if word == '':    
        return int(stck)
    else:
        word.find()

 

 

 

 

개선점: 뭔가를 구구절절 쓰다가... replace가 있음을 떠올렸다...

 

베스트 코드

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

def solution(s):
    for k, v in test.items():
        s = s.replace(k, v)

    return(int(s))

 

그리고 dictionary 사용이 조금 미숙한 것 같다.

다음에 다시 풀어야지

 

728x90
반응형