숫자와 영단어가 섞인 문자열 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 은 다른 값이에요.javascriptCopy codefunction 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);}
예시 테스트만 실행 (Cmd/Ctrl+Enter)
숨김 테스트까지 채점 (Cmd/Ctrl+Shift+Enter)
에디터를 불러오고 있어요…
코드를 작성하고Ctrl↵를 눌러 예시 테스트를 확인해 보세요.