programmers

[JAVA] 숨어있는 숫자의 덧셈(2) isDigit()

아잠만_ 2024. 3. 18. 12:32
문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요.

풀이1) 런타임 에러

더보기
class Solution {
    public int solution(String my_string) {
        int answer = 0;
        if(my_string.replaceAll("[0-9]", "").equals(my_string)){
            answer=0;
        } else{
        String result[]=my_string.replaceAll("[A-Z]", "-").replaceAll("[a-z]", "-").replace("--"," ").replace(" -"," ").replace("  "," ").replace("-"," ").trim().split(" ");
            for(int i=0;i<result.length;i++){
                answer+=Integer.parseInt(result[i]);
            }
        }
        return answer;
    }
}

풀이2) isDigit()

class Solution {
    public int solution(String my_string) {
        int answer = 0;
        String num = "";
        my_string += "a";
        for(int i=0; i<my_string.length();i++){
            if(Character.isDigit(my_string.charAt(i))==false){
                if(!num.equals("")){
                    answer+=Integer.parseInt(num);
                    num="";
                }
            } else{
                num+=""+my_string.charAt(i);
            }
        }
        return answer;
    }
}