[프로그래머스] 숫자 영단어와

cheeeese·2022년 1월 2일
0

코딩테스트 연습

목록 보기
21/151
post-thumbnail

📖 문제

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

💻 내 코드

def solution(s):
    answer = 0
    
    while 'zero' in s:
        s=s.replace('zero','0')
    while 'one' in s:
        s=s.replace('one','1')
    while 'two' in s:
        s=s.replace('two','2')
    while 'three' in s:
        s=s.replace('three','3')
    while 'four' in s:
        s=s.replace('four','4')
    while 'five' in s:
        s=s.replace('five','5')
    while 'six' in s:
        s=s.replace('six','6')
    while 'seven' in s:
        s=s.replace('seven','7')
    while 'eight' in s:
        s=s.replace('eight','8')
    while 'nine' in s:
        s=s.replace('eight','9')
        
    answer=int(s)
    
    return answer

원래는 이렇게 짰었는데...코드 실행 했을때는 모든 테스트 케이스를 통과했지만 제출 하니깐 당연히..^^ 시간 초과가 뜸

그래서 다른 코드 검색해봄

def solution(s):
    answer = ''
    
    nums={'zero':'0', 'one':'1', 'two':'2', 'three':'3', 'four':'4', 
          'five':'5', 'six':'6', 'seven':'7', 'eight':'8', 'nine':'9'}
    
    answer = s
    for key, value in nums.items():
        answer = answer.replace(key, value)
    

    return int(answer)

dictionary 사용해서 풀면 됨

0개의 댓글