728x90
문제 설명
문제 링크
접근 방법
- 0,1,2,3,... 각각 숫자를 영단어로 바꾸기
-> numbers 배열을 만들어 ["zero","one","two"...,"nine"]을 넣어줍니다.
- for문을 루프를 돌며 문자열 s에서 영단어로 되어 있는 numbers배열 탐색 후 split을 수행하고 join을 통해 문자열 s에서 split이 수행되어진 부분을 연결해줍니다.
- (1),(2) 과정을 수행한 후 주어진 문자열을 숫자로 return 해줍니다.
코드
function solution(s) {
// numbers 라는 배열을 만들어 숫자에 해당하는 영단어 배열을 만들어 줍니다.
const numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
for(let i=0;i<numbers.length;++i){
//문자열 s에서 영단어로 되어 있는 numbers 배열 탐색 후 split 수행합니다.
let arr = s.split(numbers[i]);
//join 을 통해 split되어진 문자열 s를 i를 넣어주고 연결해줍니다.
s = arr.join(i);
}
// 형변환을 통해 숫자로 return 합니다.
return Number(s);
}
반응형
'컴퓨터 공학 기초 > 알고리즘 문제 풀이' 카테고리의 다른 글
프로그래머스[Level2] 조이스틱 - JavaScript (0) | 2023.04.19 |
---|---|
프로그래머스[Level2] 큰수 만들기 -Javascript (0) | 2023.04.19 |
프로그래머스[Level1] 크기가 작은 부분 문자열 -Javascript (0) | 2023.04.19 |
프로그래머스[Level1] 가장 가까운 같은 글자 -Javascript (0) | 2023.04.19 |
프로그래머스[Level2] 기능 개발 -Javascript (0) | 2023.04.19 |