📕 문제 설명
영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.
⭐ 제한사항
- numbers는 소문자로만 구성되어 있습니다.
- numbers는 "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" 들이 공백 없이 조합되어 있습니다.
- 1 ≤ numbers의 길이 ≤ 50
- "zero"는 numbers의 맨 앞에 올 수 없습니다.
💻 입출력 예
numbers | result |
"onetwothreefourfivesixseveneightnine" | 123456789 |
"onefourzerosixseven" | 14067 |
📚 입출력 예 설명
입출력 예 #1
- "onetwothreefourfivesixseveneightnine"를 숫자로 바꾼 123456789를 return합니다.
입출력 예 #2
- "onefourzerosixseven"를 숫자로 바꾼 14067를 return합니다.
😊 나의 답변
function solution(numbers) {
const eng = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"]
for(let i = 0; i < eng.length; i++) {
numbers = numbers.replaceAll(eng[i], i);
}
return +numbers;
}
영어로 표기된 숫자를 배열에 담아두고, for문을 돌려 replceAll()
로 각 인덱스에 해당하는 값을 인덱스로 바꿔주었다.
그리고 +
를 붙여 암시적 형변환을 해주어 출력했다.
📌 replace의 두번째 인자로 콜백함수를 사용할 수 있음!
728x90
반응형
'프로그래머스 > Lv. 0 코딩테스트 입문' 카테고리의 다른 글
[프로그래머스] Lv.0 인덱스 바꾸기 / JS (0) | 2023.08.11 |
---|---|
[프로그래머스] Lv.0 한 번만 등장한 문자 / JS (0) | 2023.08.11 |
[프로그래머스] Lv.0 문자열 계산하기 / JS (0) | 2023.08.10 |
[프로그래머스] Lv.0 숫자 찾기 / JS (0) | 2023.08.10 |
[프로그래머스] Lv.0 자릿수 더하기 / JS (0) | 2023.08.10 |