https://school.programmers.co.kr/learn/courses/30/lessons/120894
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[ 문제 ]

[ 내 풀이 ]
function solution(numbers) {
// 배열을 생성합니다.
const numsArr = ["zero", "one", "two", "three", "four", "five",
"six", "seven", "eight", "nine"];
// 각 숫자 단어를 실제 숫자로 변환합니다.
numsArr.forEach((nums, idx) => {
// numbers 문자열에서 해당 숫자 단어를 찾아 실제 숫자로 대체합니다.
// => 영어로 된 숫자를 기준으로 나눈 뒤, 실제 숫자를 넣어 대체하는 방식입니다.
// "fourzerosix" 라면.. -> ["four", "six"] -> "four0six" 가 됩니다.
numbers = numbers.split(nums).join(idx)
})
// 최종 변환된 문자열을 숫자로 변환하여 반환합니다.
return Number(numbers);
}
[ 다른 풀이 ]
// replace, 콜백을 활용한 풀이
// replace의 두번째 인자로 콜백을 넣어 푼 방법입니다.
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);
}
// reudce에서 엔덱스를 바받아오는 방식을 활용한 풀이
var solution=n=>Number(
['zero','one','two','three','four','five','six','seven','eight','nine']
.reduce((t,s,i)=>t.replaceAll(s,i),n)
)
반응형
'Algorithm > Javascript' 카테고리의 다른 글
| [ 프로그래머스 ] 숨어있는 숫자의 덧셈(2) ( JS ) (0) | 2024.08.08 |
|---|---|
| [ 프로그래머스 ] 인덱스 바꾸기 ( JS ) (0) | 2024.07.25 |
| [ 프로그래머스 ] 대문자와 소문자 ( JS ) (7) | 2024.07.23 |
| [ 프로그래머스 ] 암호 해독 ( JS ) (2) | 2024.07.23 |
| [ 프로그래머스 ] 369게임 ( JS ) (0) | 2024.07.21 |
