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

Yongwoo Cho·2021년 10월 5일
0

알고리즘

목록 보기
1/104
post-thumbnail

📌 문제

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

📌 풀이

function solution(s) {
  let answer = "";
  let hash_map = new Map(); 
  // 0부터 9까지 hashing
  hash_map.set("zero", 0);
  hash_map.set("one", 1);
  hash_map.set("two", 2);
  hash_map.set("three", 3);
  hash_map.set("four", 4);
  hash_map.set("five", 5);
  hash_map.set("six", 6);
  hash_map.set("seven", 7);
  hash_map.set("eight", 8);
  hash_map.set("nine", 9);
  let res="";
  for(let i=0; i<s.length; i++) {
      if(isNaN(s[i])){ // 숫자가 아닌 경우
          res += s[i];
          if(hash_map.has(res)){ // 숫자의 알파벳이 완성된 경우
              answer+=hash_map.get(res); // get으로 value값 answer 문자열에 더하기
              res=""; // res 초기화
          }
      }
      else answer+=s[i]; // 숫자인경우 그대로 answer 문자열에 더하기
  }
  return parseInt(answer); // 문자열 int로 변환하여 출력
}

✔ 알고리즘 : Hashing

✔ Map에 포함되는 문자열이면 get으로 숫자값을 받아서 answer문자열에 더해준다

✔ 난이도 : 프로그래머스 기준 LEVEL 1

profile
Frontend 개발자입니다 😎

0개의 댓글