코딩테스트
[코딩테스트] 영어가 싫어요
홍시_코딩기록
2024. 4. 26. 23:08
📌 내 코드
function solution(numbers) {
let result = numbers;
result = result.replace(/one/g, 1);
result = result.replace(/two/g, 2);
result = result.replace(/three/g, 3);
result = result.replace(/four/g, 4);
result = result.replace(/five/g, 5);
result = result.replace(/six/g, 6);
result = result.replace(/seven/g, 7);
result = result.replace(/eight/g, 8);
result = result.replace(/nine/g, 9);
result = result.replace(/zero/g, 0);
return Number(result);
}
- 1부터 0까지 가내수공업으로 숫자를 바꿔주었다...
- 부끄러워진 내 코드..
📌 다른 사람 코드
function solution(numbers) {
const obj = {
zero: 0, one: 1, two: 2, three: 3, four: 4,
five: 5, six: 6, seven: 7, eight: 8, nine: 9
};
const num = numbers.replace(/zero|one|two|three|four|five|six|seven|eight|nine/g, (v) => {
return obj[v];
});
return Number(num);
}
- 0부터 9까지 객체로 만들었다.
- replace를 이용해서 해당하는 숫자로 바꿔주고 콜백 함수로 obj 객체에 해당하는 값을 가져와서 대체한다.