
https://school.programmers.co.kr/learn/courses/30/lessons/120864
여기서 StringBuilder 에러가 나기 쉽다.
왜냐하면 total += Integer.parseInt(sb.toString()); 하기 전에 StringBuilder에 값이 있는 지를 먼저 확인해야 하기 때문이다.
또한 이 로직은 숫자가 아닌 (예를 들면 알파벳) 캐릭터를 만났을 때 total에 더하는데 만약에 주어진 문자열이 숫자로 끝난다면?
class Solution {
public int solution(String my_string) {
StringBuilder sb = new StringBuilder();
int total = 0;
for(char c : my_string.toCharArray()) {
if(!Character.isDigit(c)) {
// 기존 sb를 total에 더하기
if(sb.length() > 0) {
total += Integer.parseInt(sb.toString());
}
// sb 초기화
sb = new StringBuilder();
continue;
}
sb.append(c);
}
if(sb.length() > 0) total += Integer.parseInt(sb.toString());
return total;
}
}