이노베이션 캠프/3주차_알고리즘

[JS] 숫자 문자열과 영단어

hani:) 2023. 6. 19. 19:50

문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 풀이

최종 풀이

function solution(s) {
    let word = {"zero":"0", "one":"1", "two":"2", 
               "three":"3", "four":"4", "five":"5",
                "six":"6", "seven":"7", "eight":"8",
                "nine":"9"
               };
    
    let result = s;
    for (key of Object.keys(word)) {
        if (result.includes(key)) {
            let re = new RegExp(key, "gi");
            result = result.replace(re, word[key]);
            //result = result.replaceAll(key, word[key]);
        }
    }

    return Number(result);
}

 

 

 

해설

  1. 숫자를 영문으로 표현한 값을 Key로 사용하여 숫자를 저장 ("zero":0)
  2. for of문 사용하여 딕셔너리 모든 Key값에 접근 후 영문 숫자가 일반 숫자로 변경될 수 있도록 함
    • 정규표현식 사용하여 key 값을 패턴으로 생성 후 주어진 문자열에 일치하는 값이 있는 경우 원하는 값으로 치환
  3. Number() 사용하여 숫자형으로 return

 

728x90