알고리즘

영어가 싫어요

원2 2022. 11. 30. 16:49
728x90
반응형

문제 설명

영어가 싫은 머쓱이는 영어로 표기되어있는 숫자를 수로 바꾸려고 합니다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 return 하도록 solution 함수를 완성해 주세요.

제한사항

  • numbers는 소문자로만 구성되어 있습니다.
  • numbers는 "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" 들이 공백 없이 조합되어 있습니다.
  • 1 ≤ numbers의 길이 ≤ 50
  • "zero"는 numbers의 맨 앞에 올 수 없습니다.

입출력 예

numbersresult

"onetwothreefourfivesixseveneightnine" 123456789
"onefourzerosixseven" 14067

 

입출력 예 설명

입출력 예 #1

  • "onetwothreefourfivesixseveneightnine"를 숫자로 바꾼 123456789를 return합니다.

입출력 예 #1

  • "onefourzerosixseven"를 숫자로 바꾼 14067를 return합니다.
import java.util.*;
class Solution {
    public long solution(String numbers) {
        
        String[] strNums = new String[]{ "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
        
        ArrayList<String> arr = new ArrayList<>(Arrays.asList(strNums));
        
        for (String str : arr) {
            if (numbers.contains(str)) {
                numbers = numbers.replaceAll(str, String.valueOf(arr.indexOf(str)));
            }
        }
        
        long answer = Long.parseLong(numbers);
        return answer;
    }
}
728x90
반응형

'알고리즘' 카테고리의 다른 글

외계어 사전  (0) 2022.12.02
구슬을 나누는 경우의 수  (0) 2022.12.02
숨어있는 숫자의 덧셈 (2)  (0) 2022.11.30
잘라서 배열로 저장하기  (0) 2022.11.29
문자열 정렬하기(1)  (0) 2022.11.17
숨어있는 숫자의 덧셈  (0) 2022.11.17