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

윤성해·2023년 4월 14일
0

알고리즘

목록 보기
18/22
post-thumbnail

숫자 문자열과 영단어

문제

레퍼런스

1. for, while

const numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];

function solution(s) {
               for(let i = 0; i < numbers.length; i++){
                   while(s.includes(numbers[i]))
                   s = s.replace(numbers[i],i);
               }
    return Number(s)
}

2.replaceAll

const numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];

function solution(s) {
               for(let i = 0; i < numbers.length; i++){
                   // while(s.includes(numbers[i]))
                   s = s.replaceAll(numbers[i],i);
               }
    return Number(s)
}

3.split, join

const numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];

function solution(s) {
               for(let i = 0; i < numbers.length; i++){
                   // while(s.includes(numbers[i]))
                   // s = s.replaceAll(numbers[i],i);
                   s = s.split(numbers[i]).join(i)
               }
    return Number(s)
}

4.정규표현식

function solution(s) {
    s = s.replace(/zero/g, 0)
    s = s.replace(/one/g, 1)
    s = s.replace(/two/g, 2)
    s = s.replace(/three/g, 3)
    s = s.replace(/four/g, 4)
    s = s.replace(/five/g, 5)
    s = s.replace(/six/g, 6)
    s = s.replace(/seven/g, 7)
    s = s.replace(/eight/g, 8)
    s = s.replace(/nine/g, 9)
    
    return Number(s)
}

5.regExp

const numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];

function solution(s) {
     for(let i = 0; i < numbers.length; i++){
         const regExp = new RegExp(numbers[i], "g");
         s = s.replace(regExp, i);
     }
    return Number(s)
}
profile
Slow and steady wins the race.

0개의 댓글