영어가 싫어요
문제 #
영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 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
나의 풀이 #
//replaceAll을 이용해서 각 문자를 숫자로 변경
class Solution {
public long solution(String numbers) {
long answer = 0;
numbers = numbers.replaceAll("zero","0");
numbers = numbers.replaceAll("one","1");
numbers = numbers.replaceAll("two","2");
numbers = numbers.replaceAll("three","3");
numbers = numbers.replaceAll("four","4");
numbers = numbers.replaceAll("five","5");
numbers = numbers.replaceAll("six","6");
numbers = numbers.replaceAll("seven","7");
numbers = numbers.replaceAll("eight","8");
numbers = numbers.replaceAll("nine","9");
answer = Long.parseLong(numbers);
return answer;
}
}
//배열과 반복문을 이용하여 간략화
class Solution {
public long solution(String numbers) {
long answer = 0;
String[] str = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
for (int i = 0; i<10; i++){
numbers = numbers.replaceAll(str[i],Integer.toString(i));
}
answer = Long.parseLong(numbers);
return answer;
}
}
다른 사람의 풀이 #
//다른 사람의 풀이중 참조할 코드를 적는다.
관련개념 학습 #
- 관련 개념을 찾아서 공부한 내용을 적는다.
ctrl + p
로 내가 필기한 내용 중에서 관련내용이 있는지 찾아서 그 페이지의 링크를 복사하여 붙혀넣는다.- 필기 페이지에도 이 문제의 링크를 복사하여 “관련 문제"라고 써놓고 붙혀넣는다.