[프로그래머스 | 파이썬 /

문제

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

프로그램 제작자

코드 중심 개발자를 고용하십시오. 배치 기반 위치 매칭. 프로그래머의 개발자별 프로필에 가입하고 기술 호환성이 좋은 회사와 연결하십시오.

Programmer.co.kr

파이썬
def solution(numbers):
    alpha = ("zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine")
    for i, j in zip(alpha, range(10)):
        numbers = numbers.replace(i, str(j))
    return int(numbers)

def solution(numbers):
    answer = 0
    num = ("zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine")
    for i in num:
        if i in numbers:
            numbers = numbers.replace(i, str(num.index(i)))
    return int(numbers)

다른 가능한 해결책

def solution(numbers):
    for num, eng in enumerate(("zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine")):
        numbers = numbers.replace(eng, str(num))
    return int(numbers)

def solution(numbers):
    r = {'zero': '0', 'one': '1', 'two': '2', 'three': '3', 'four': '4',
         'five': '5', 'six': '6', 'seven': '7', 'eight': '8', 'nine': '9'}
    for k in r.keys():
        numbers = numbers.replace(k, r(k))
    return int(numbers)

자바스크립트
function solution(numbers) {
    let dic = {0:"zero", 1:"one", 2:"two", 3:"three", 4:"four", 5:"five", 6:"six", 7:"seven", 8:"eight", 9:"nine"};
    for(let i = 0; i <= 9; i++){
        if(numbers.includes(dic(i))){
            numbers = numbers.replaceAll(dic(i), i);
        }
    }
    return Number(numbers);
}

다른 가능한 해결책

function solution(numbers) {
    const obj = {
        zero: 0, one: 1, two: 2, three: 3, four: 4,
        five: 5, six: 6, seven: 7, eight: 8, nine: 9
    };

    const num = numbers.replace(/zero|one|two|three|four|five|six|seven|eight|nine/g, (v) => {
        return obj(v);
    });

    return Number(num);
}

function solution(numbers) {
    const number = ("zero","one","two","three", "four", "five", "six", "seven", "eight", "nine")
    for(let i = 0 ; i<number.length; i++){
        numbers = numbers.split(number(i)).join(i)
    }
    return +numbers
}