영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.
우선 0부터 9까지의 문자를 담은 배열을 하나 만들어 준다. forEach
문으로 배열을 모두 순회하며 해당 문자를 index값으로 바꿔주기만 하면 된다. 중요한 점은 배열을 만들 때 "zero" 부터 "nine"까지로 맞추어서 index값이랑 같은 값을 가지도록 하는 것이다.
for문과 비슷하지만 속도는 훨씬 빠르다. 첫번째 인자로는 value를, 두번째 인자로는 index를 받는다.
첫번째 인자를 두번째 인자로 바꾼다. 한번만 수행하는 것이 아니라 배열을 다 순회할 때까지 진행한다.
function solution(numbers) {
let set = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
set.forEach((num, idx) => {
numbers = numbers.replaceAll(num, idx);
});
return Number(numbers);
}
영어 잘하면서~ 영어 좋으면서~