function solution(s) {
const words = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
for (let i = 0; i < words.length; i++){
let splitArr = s.split(words[i]);
s = splitArr.join(i);
}
return Number(s);
}
반복문에서 사용하기 위한 배열을 선언 할당
const words = ['zero', 'one', 'two', 'three', 'four', 'five', 'six', 'seven', 'eight', 'nine'];
"one4seveneight" -> 1478 로 변환하는 과정을 예시로 들겠습니다.
for (let i = 0; i < words.length; i++){
let splitArr = s.split(words[i]);
s = splitArr.join(i);
}
words[i]
: 'one'splitArr
: ['', '4seveneight'] ➡️ 'one'으로 split된 배열s
= '14seveneight' ➡️ 배열의 두 요소 '', '4seveneight' 를 구분자 1로 연결words[i]
: 'seven'splitArr
: ['14', 'eight']s
= '147eight'words[i]
: 'eight'splitArr
: ['147', 'eight']s
= '1478'return Number(s)
String.prototype.split()
split()
메서드는 구분자로 지정한 특정 문자열을 기준으로 여러 개의 문자열로 나눕니다
str.split([separator[, limit]])
- separator : 원본 문자열을 끊어야 할 부분을 나타내는 문자열
- limit : 끊어진 문자열의 최대 개수를 나타내는 정수
배열의 원소가 limit개가 되면 split을 멈춥니다- 반환값 : separator마다 끊은 부분 문자열을 담은 배열 반환
Array.prototype.join()
join()
메서드는 배열의 모든 요소를 구분자로 연결해 하나의 문자열을 반환합니다.
arr.join([separator])
- separator: 배열의 각 요소를 구분할 문자열 지정
생략할 경우 - 배열의 요소들이 ','로 구분 됨
빈문자열일 경우 - 배열의 요소 사이에 아무 문자도 없이 연결- 반환값 : 배열의 모든 요소들을 구분자로 연결한 하나의 문자열 반환