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 |
댓글