문제
https://school.programmers.co.kr/learn/courses/30/lessons/120894
풀이
문자배열을 돌면서 numbers에 해당하는 문자가 나오면 치환한다.
function solution(numbers) {
const strNum = [
"zero",
"one",
"two",
"three",
"four",
"five",
"six",
"seven",
"eight",
"nine",
];
strNum.forEach((num, idx) => {
numbers = numbers.replace(new RegExp(num, "g"), idx);
});
return Number(numbers);
}
다른 풀이
정규식 대신 replaceAll을 사용해 치환
function solution(numbers) {
let numStr = [ "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" ];
numStr.forEach((str, idx) => {
numbers = numbers.replaceAll(str, idx);
});
return Number(numbers);
}
num에 들어오는 문자를 기준으로 쪼갠 후 해당 숫자로 다시 합친다 => 치환과 동일
function solution(numbers) {
const strNum = [
"zero",
"one",
"two",
"three",
"four",
"five",
"six",
"seven",
"eight",
"nine",
];
strNum.forEach((num, idx) => (numbers = numbers.split(num).join(idx)));
return Number(numbers);
}
'개발 > 알고리즘(코딩테스트)' 카테고리의 다른 글
프로그래머스, 자바스크립트) 두 수의 합 (1) | 2024.01.21 |
---|---|
프로그래머스, 자바스크립트) qr code (0) | 2024.01.20 |
프로그래머스, 자바스크립트) 공 던지기 (0) | 2024.01.19 |
프로그래머스, 자바스크립트) 커피 심부름 (1) | 2024.01.18 |
프로그래머스, 자바스크립트) 리스트 자르기 (0) | 2024.01.18 |