영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.
| numbers | result |
|---|---|
| "onetwothreefourfivesixseveneightnine" | 123456789 |
| "onefourzerosixseven" | 14067 |
import java.util.Map;
public class EnglishToNumber {
public long solution(String numbers) {
Map<String, String> map = Map.of("zero","0","one","1","two","2","three","3","four","4","five","5",
"six","6","seven","7","eight","8","nine","9");
for (String s : map.keySet()) {
numbers = numbers.replaceAll(s, map.get(s));
}
return Long.parseLong(numbers);
}
public long solution2(String numbers) {
String[] arr = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
for (int i = 0; i < arr.length; i++) {
numbers = numbers.replaceAll(arr[i], String.valueOf(i));
}
return Long.parseLong(numbers);
}
}