본문 바로가기
Algorithm/PROGRAMMERS[Java]

Lv1. 숫자 문자열과 영단어[카카오]

by 씨니 2022. 5. 1.
728x90

▶ 문제

 

▶ 풀이방법

- 첫번째 풀이방법

class Solution {
    public int solution(String s) {
        int answer = 0;
        String result = "";
        String str = "";
        String[] arr = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
        
        for(int i = 0;  i < s.length(); i++){
            char c = s.charAt(i);
            if('0' <= c && c <= '9'){
                result += c;
            }else{
                str += c;
            }
            if(!str.equals("")){
                for(int j = 0; j < arr.length; j++){
                    if(str.equals(arr[j])){
                        result += String.valueOf(j);
                        str = "";
                    }
                }
            }
        }
        answer = Integer.parseInt(result);
        return answer;
    }
}

 

- 두번째 풀이방법( string원하는 문자로 바꿈 -> String.replaceAll() )

class Solution {
    public int solution(String s) {
        int answer = 0;
        String[] arr = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
        
        for(int i = 0; i < arr.length; i++){
            String str = String.valueOf(i);
            s = s.replaceAll(arr[i], str); //문자열 숫자로 대체
        }
        
        answer = Integer.parseInt(s);
        return answer;
    }
}
728x90