6주차 · 체크포인트 1
보통문자열구현

영단어를 숫자로 바꾸기

숫자와 영단어가 섞인 문자열 s가 주어져요. 영단어를 해당하는 숫자로 바꾼 뒤, 전체를 정수로 반환해요.

쓰이는 영단어는 zero one two three four five six seven eight nine 열 개예요.

예를 들어 "one4seveneight"1, 4, 7, 8 이 이어진 1478 이에요.

영단어 열 개를 차례로 치환하고 마지막에 정수로 바꾸는 것이 가장 짧아요. 앞에서부터 한 글자씩 읽으며 버퍼에 모아 처리해도 돼요.

예시

예시 1
예시 2
예시 3
예시 4

제한 사항

  • 1 ≤ s.length ≤ 50
  • s 는 숫자와 위 열 개의 영단어로만 이루어져요.
  • s 의 첫 글자는 `0` 이나 `zero` 로 시작하지 않아요.
  • 변환한 결과는 1 이상 2,000,000,000 이하예요.
영단어 배열을 인덱스 순서(zero 가 0)로 두고 replaceAll / replace 를 열 번 돌리면 돼요. 마지막에 문자열을 정수로 바꾸는 것을 잊지 마세요 — "1478"1478 은 다른 값이에요.
javascript
function wordToNumber(s) {
const words = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
let out = s;
for (let i = 0; i < words.length; i++) {
out = out.split(words[i]).join(String(i));
}
return Number(out);
}
이전 문제나선형 순회
에디터를 불러오고 있어요…
코드를 작성하고를 눌러 예시 테스트를 확인해 보세요.