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

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

by dantriss 2023. 3. 23.


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

처음엔 my_string을 배열로 바꿔 replacse로 영어 대소문자들을 전부 빈칸으로 치환했었지만, 그러면 연속적인 수는 하나로 간주한다는 조건에 부합하지 않아 다시 작성하였다.

 

우선 문자열 my_string을 영어 대소문자만 표현하는 정규표현식"[a-zA-Z]"과 split를 활용해 빈칸들과 숫자들만 남겨놓는다.

그 후 반복문을 활용해서 arr에 빈칸이 있다면 0으로 바꾸고 빈칸이 아니라면 Integer로 형변환을 한 후 나온 값들을 answer에 저장하면 해결된다.

 

class Solution {
    public int solution(String my_string) {
        int answer = 0;
        String[] arr = my_string.split("[a-zA-Z]");
        
        for(int i=0; i<arr.length; i++){
            answer += !arr[i].isEmpty() ? Integer.parseInt(arr[i]) : 0;
        }
        
        
        return answer;
    }
}

 

참조한 블로그 : empty,null처리방법

정규표현식

'프로그래머스 문제풀어보기' 카테고리의 다른 글

[Lv.0] 다음에 올 숫자  (0) 2023.04.04
[Lv.0] 문자열 계산하기  (0) 2023.04.01
[Lv.0] 컨트롤 제트  (0) 2023.03.22
[Lv.0] 영어가 싫어요  (0) 2023.03.22
[Lv.0] 종이자르기  (0) 2023.03.22

댓글