# [Algorithm/JS] 프로그래머스 81301 숫자 문자열과 영단어

🔗 문제 바로가기 (opens new window)

# 나의 풀이

function solution(s) {
  var answer = 0;
  let str = s;
  let word = [
    'zero',
    'one',
    'two',
    'three',
    'four',
    'five',
    'six',
    'seven',
    'eight',
    'nine',
  ];

  for (let i = 0; i < word.length; i++) {
    let reg = new RegExp(word[i], 'g');
    str = str.replace(reg, i);
    answer = Number(str);
  }

  return answer;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

문제를 보자마자 정규식 풀이를 생각했는데 다른 사람들 풀이를 보니 정규식이 필요 없었다.

# 다른 풀이

function solution(s) {
  let numbers = [
    'zero',
    'one',
    'two',
    'three',
    'four',
    'five',
    'six',
    'seven',
    'eight',
    'nine',
  ];
  var answer = s;

  for (let i = 0; i < numbers.length; i++) {
    let arr = answer.split(numbers[i]);
    answer = arr.join(i);
  }

  return Number(answer);
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Last Updated: 2022. 6. 5. 오후 3:42:39