문제
풀이
1) replaceAll()을 이용해 my_string에서 숫자가 아닌 요소를 삭제한다
2) charAt()으로 각 숫자들을 가져와 문자열에서 정수로 바꿔준 후
3) sum에다가 누적시켜준다
결과
class Solution { public int solution(String my_string) { int sum = 0; String str = my_string.replaceAll("[^0-9]",""); for(int i=0; i<str.length(); i++){ sum += Integer.parseInt(String.valueOf(str.charAt(i))); } return sum; } }
replaceAll()에서 [^0-9]는 0~9가 아닌(^) 것들을 공백으로 바꿔준다는 뜻이다.
찾아보니 대소문자 알파벳은 [a-zA-Z]로 나타낸다는 사실 또한 알게됐다!
my_string.replaceAll("[a-z]",""); // 소문자
my_string.replaceAll("[A-Z]",""); // 대문자
my_string.replaceAll("[a-zA-Z]",""); // 대소문자
'코딩 테스트' 카테고리의 다른 글
[ 프로그래머스 ] 짝수 홀수 개수 (0) | 2024.03.20 |
---|---|
[ 프로그래머스 ] 문자열 정렬하기(1) (1) | 2024.03.18 |
[ 프로그래머스 ] n의 배수 고르기 (0) | 2024.03.17 |
[ 프로그래머스 ] 가장 큰 수 찾기 (0) | 2024.03.13 |
[ 프로그래머스 ] 문자열 잘라서 정렬하기 (0) | 2024.03.11 |