class Solution {
public int solution(String my_string) {
int answer = 0;
for(int i=0; i<my_string.length(); i++) {
char ch = my_string.charAt(i);
if(Character.isDigit(ch)) {
answer += (int)ch -'0';
}
}
return answer;
}
}
for문을 돌면서 Character.isDigit()을 사용해 문자 하나씩 숫자인지 판단해, 숫자면 더해주는 로직을 사용했다.
class Solution {
public int solution(String my_string) {
int answer = 0;
String str = my_string.replaceAll("[^0-9]","");
for(char ch : str.toCharArray()) {
answer += Character.getNumericValue(ch);
}
return answer;
}
}
toCharArray()는 문자를 하나씩 분리해 배열의 값으로 넣어 배열을 반환한다.
나는 이전에 이걸 무조건 char[] 배열로 받아서 사용했는데, 변수를 따로 만들어서 넣지않아도 향상된 for문에서 바로 사용할 수 있다.
char형을 int형으로 변환해주는 Character.getNumericValue(char ch)를 사용한다.