개발일기
[JavaScript] 영어가 싫어요 본문
문제 설명
영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 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 |
풀이
function solution(numbers) {
var answer = 0;
const numbersArray = ["zero", "one", "two", "three", "four", "five",
'six', "seven", "eight", "nine"]
for(let i = 0; i< numbersArray.length; i++){
numbers = numbers.replaceAll(numbersArray[i],i)
}
return Number(numbers);
}
풀이 설명
1. 영어에 맞는 값을 추출 해야하기 때문에 numbersArray에 영어로 표기되어있는 숫자 요소를 담은 배열을 만들어 준다.
2. 주어진 numbers의 영어를 숫자로 바꿔야하기 때문에 replaceAll() 메서드를 사용한다.
3. for문으로 반복하면서 numbers의 영어와 numbersArray의 요소의 값이 일치하다면 i의 값으로 바꿔 준다.
4. numbers는 문자열이기 떄문에 Number()를 사용해서 타입을 변경 한 뒤 리턴한다.
'Algorithm' 카테고리의 다른 글
[JavaScript]삼각형의 완성조건 (2) (0) | 2024.07.19 |
---|---|
[JavaScript] 구슬을 나누는 경우의 수 (0) | 2024.07.18 |
[JavaScript] 문자열 계산하기 (0) | 2024.07.16 |
[JavaScript] 컨트롤 제트 (5) | 2024.07.15 |
[Javascript] 소인수분해 (1) | 2024.07.15 |