반응형
| 제출
function solution(s) {
let numArr = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
let answer = s;
for(let i = 0; i < numArr.length; i++) {
let arr = answer.split(numArr[i]);
answer = arr.join(i);
}
return Number(answer);
}
| 풀이과정
문자열로 표현된 부분을 알맞은 숫자로 변경하여 전체 숫자를 리턴하는 문제이다.
1) 숫자에 맞는 문자열 표현식을 numArr 이라는 배열에 담는다.
2) numArr의 각 요소를 기준으로 split 한 뒤, 배열의 index로 join을 해주면 된다.
문자열 s가 "one4seveneight" 일 때, for문 안에서 arr과 answer를 콘솔에 출력해보면 다음과 같다.
for(let i = 0; i < numArr.length; i++) {
let arr = answer.split(numArr[i]);
answer = arr.join(i);
console.log(arr);
console.log(answer);
}
// i가 1일 때
// [ '', '4seveneight' ]
// "14seveneight"
| 개념
String.prototype.split()
- String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눈다.
- 구분자가 빈 문자열일 경우 str의 각각의 문자가 배열의 원소 하나씩으로 변환된다.
Array.prototype.join()
- 배열의 모든 요소를 연결해 하나의 문자열로 만든다.
- 괄호 안에는 각 요소를 구분할 문자열을 지정한다.
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 폰켓몬 - level 1 (javascript) (0) | 2022.10.28 |
---|---|
[프로그래머스] [1차] 비밀지도 - level 1 (javascript) (0) | 2022.09.19 |
[프로그래머스] 최소직사각형 - level 1 (javascript) (1) | 2022.09.19 |
[프로그래머스] 내적 - level 1 (javascript) (0) | 2022.09.19 |
[프로그래머스] 없는 숫자 더하기 - level 1 (javascript) (0) | 2022.09.19 |