기억보다 기록을

[Programmers] 영어가 싫어요 (딕셔너리,정규표현식/ replace() 사용별 답안) 본문

Algorithm/Programmers

[Programmers] 영어가 싫어요 (딕셔너리,정규표현식/ replace() 사용별 답안)

juyeong 2023. 2. 8. 10:50
반응형

source: https://school.programmers.co.kr/learn/courses/30/lessons/120894

 

1. 딕셔너리와 정규표현식 사용

import re

def solution1(numbers):
    s = ''
    d = {'zero':'0',
         'one':'1',
         'two':'2',
         'three':'3',
         'four':'4',
         'five':'5', 
         'six':'6', 
         'seven':'7', 
         'eight':'8',
         'nine':'9'}

        #findall()-정규식과 매칭되는 모든 문자열을 리스트 형식으로 리턴  findall(r'패턴문자열', 문자열) 
    for i in re.findall(r'(zero|one|two|three|four|five|six|seven|eight|nine)',numbers):
        s +=d[i]        
    return int(s)

 

 

 

2. replace() / 가장 간단한 메소드 체이닝 방법

def solution(numbers):
    return int(numbers.replace('zero','0').replace('one','1').replace('three','3')
               .replace('four', '4').replace('five', '5').replace('six', '6')
               .replace('seven', '7').replace('eight','8').replace('nine', '9')
               )

 

 

반응형