728x90
반응형
☺️ 나의 코드
https://hoyashu.tistory.com/257
👍우수 코드
프로그래머스에서 제공하는 다른 사람들의 코드 중 좋아요가 가장 높은 코드
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);
}
👨🏻💻선행되어야 할 공부
- .split()
- .join()
😎알고리즘 분석
- 영어 단어를 한개씩 검사해본다
- 문장에 루프중인 영어단어가 있는지 확인해서, 만약 있다면 해당 단어를 기준으로 배열을 만든다. / .split()사용
- 배열을 루프중인 인덱스를 넣어서 이어준다. (쩐다)
예를 들어 2zeroone3인 경우가 있다.
for문이 돌때 인덱스 0에서 배열에서 가져온 단어는 zero다. 2zeroone3을 zero로 배열을 쪼개면
[2, one3] 이렇게 된다. 그리고 두개의 배열을 0으로 이어준다.
그러면 20one3 이렇게 된다.
❤️배운 점
나는 글자를 한개한개 검사해서 담는 방식을 생각했는데, 이런 방식보다 훨씬 가볍고 좋은 것 같다.
split와 join을 이용할 생각을 하다니.. 나도 꼭 나중에 써먹어봐야겠다.
728x90
반응형