Blog

영어가 싫어요

문제 #

영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 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로 내가 필기한 내용 중에서 관련내용이 있는지 찾아서 그 페이지의 링크를 복사하여 붙혀넣는다.
  • 필기 페이지에도 이 문제의 링크를 복사하여 “관련 문제"라고 써놓고 붙혀넣는다.