<내 풀이>
function solution(s) {
var answer = 0;
const letter = ['zero', 'one', 'two', 'three', 'four','five','six','seven', 'eight', 'nine','zero']
String.prototype.replaceAll = function(org,dest) {
return this.split(org).join(dest);
}
for(let i = 0; i<letter.length; i++){
s = s.replaceAll(letter[i],i);
}
return answer = Number(s);
}
<가장 많은 좋아요를 받은 풀이>
function solution(s) {
let numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"];
var answer = s;
for(let i=0; i< numbers.length; i++) {
let arr = answer.split(numbers[i]);
answer = arr.join(i);
}
return Number(answer);
}
replace method는 특정 문자를 한번만 찾아서 바꿔주고 멈추기 때문에 모두 바꿔줄 수 있는 방법이 필요했음.
replaceAll이라는 함수가 있는 듯했지만 javascript string에는 내장되어 있지 않음.
그래서 replaceAll 함수를 string 내장 함수로 선언하고 사용(이 부분은 search해서 작성)
근데 생각해보니 replaceAll 함수를 선언하지 않고,
s = s.split(letter[i]).join(i)
이렇게 바로 사용하면 되네?
split - join 활용도 높아보이니 잘 기억해놔야겠음.
'주5일알고리즘' 카테고리의 다른 글
Programmers: 크레인 인형뽑기 게임 with JS (0) | 2022.07.05 |
---|---|
Programmers: 키패드 누르기 with JS (0) | 2022.07.04 |
Programmers: 신규 아이디 추천 with JS (1) | 2022.06.30 |
Programmers: 로또의 초고 순위와 최저 순위 with JS (0) | 2022.06.28 |
Programmers: 신고 결과 받기 with JS (1) | 2022.06.27 |