코딩 테스트
[ 프로그래머스 ] 숨어있는 숫자의 덧셈
주연배
2024. 3. 17. 13:35
문제
풀이
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]",""); // 대소문자