본문 바로가기
Algorithm/프로그래머스

[Algorithm / Programmers] 숨어있는 숫자의 덧셈(2)

by newtownboy 2024. 3. 12.


[Version]
⦁ 2024.03.12 / [Algorithm / Programmers] 숨어있는 숫자의 덧셈(2)

 

import java.util.*;

class Solution {
    public int solution(String my_string) {
        StringBuilder sb = new StringBuilder();
        List<Integer> list = new ArrayList<>();
        
        // 1. 문자열을 문자 배열로 변환한다.
        char[] characters = my_string.toCharArray();
        
        // 2. 반복문을 순회하며 숫자인지 판단한다.
        for (char character : characters) {
            // 숫자인지 확인
            if (Character.isDigit(character)) { 
                sb.append(character);
            } 
            // 알파벳이나 다른 문자인 경우
            else { 
                if (sb.length() > 0) {
                    int number = Integer.parseInt(sb.toString());
                    list.add(number);
                    sb.setLength(0);
                }
            }
        }
        
        // 마지막 숫자 처리
        if (sb.length() > 0) {
            int number = Integer.parseInt(sb.toString());
            list.add(number);
        }
        
        // 3. 결과 값 반환
        return sumNumbers(list);
    }
    
    public static int sumNumbers(List<Integer> list) {
        int sum = 0;
        for (int number : list) {
            sum += number;
        }
        return sum;
    }
}