JAVA/프로그래머스 코딩테스트 입문

[프로그래머스, 입문] 숨어있는 숫자의 덧셈(1)

sundori 2024. 6. 14. 22:06

목차

문제 설명

문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요.

 

class Solution {
    public int solution(String my_string) {
        return my_string.chars()
                        .filter(Character::isDigit) // 숫자인 문자만 필터링
                        .map(Character::getNumericValue) // 각 문자를 정수로 변환
                        .sum(); // 모든 정수의 합을 계산
    }
}
----------------------------
class Solution {
    public int solution(String my_string) {
        int result = 0;
        for (int i = 0; i < my_string.length(); i++) {
            if(Character.isDigit(my_string.charAt(i))){
                result += Character.getNumericValue(my_string.charAt(i));
            }
        }
        return result;
    }
}

문자열에서 숫자만을 추출하는 방법은 각양각색이다. 

우선 스트림을 이용한 방법인데 my_string을 IntStream으로 변환하고 filter를 이용해서 숫자인 문자들만 필터링하여서

각 문자를 해당하는 정수 값으로 변환한 후 그 변환된 값들의 합을 반환한다.

 

밑에 코드는 스트림을 사용하지 않고 한 방법이다.