극동대학교\AI컴퓨터공학과\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를 이용해서 숫자인 문자들만 필터링하여서

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

     

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