프로그래머스 문제풀어보기

[Lv.0] 숨어있는 숫자의 덧셈(1)

dantriss 2023. 2. 22. 01:37


https://school.programmers.co.kr/learn/courses/30/lessons/120851

 

 

import java.util.Arrays;
class Solution {
    public int solution(String my_string) {
        int answer = 0;
                
        String a =  my_string.toLowerCase().replaceAll("[a-z]","");
        char [] arr = a.toCharArray();
        String[] arr2 = a.split("");
        
        for(int i=0; i<arr2.length; i++){
            answer += Integer.parseInt(arr2[i]);

            
        }
            
        return answer;
    }
}

String a 에 문자열 my_string에 모든 대문자들을 toLowerCase로 소문자로 만든 후 replaceAll을 이용 a-z를 전부 빈칸으로만든다.

그렇게하면 문자열 a에는 숫자들만 남겨지게 되는데 해당 숫자들은 Int가 아니라 string이기 때문에 

문자배열로 만들어주고 split("")을 이용해 각각 분리해준다.

 

그 후 반복문을 이용해 배열의 길이만큼 반복해주면서,

answer에는 문자열 배열 arr2[]를 Integer.parseInt를 이용해 int로 변환해서 전부 더해준다.