728x90
SMALL

using System;
using System.Text.RegularExpressions;

public class Solution {
    public int solution(string my_string) {
        int answer = 0;
              
        for(int i = 0; i < my_string.Length; i++)
        {
            // IsDigit은 string에 문자가 10진수인지 판별하고 참이면 True를 반환  
            if(Char.IsDigit(my_string[i]) == true)
            {
                answer += (int)my_string[i] - 48; // ASCII 코드 상에서 문자1의 수치가 49여서 거기에서 48을 빼주는 방식으로 한다.
            }
        }
        return answer;
    }
}

 

////

using System;
using System.Linq;

public class Solution {
    public int solution(string my_string) {
        int answer = my_string.Where(x => char.IsNumber(x)).Sum(x => Convert.ToInt32(x.ToString()));

        return answer;
    }
}

 

파이썬

 

def solution(my_string):
    answer = 0
    for i in my_string:
        try:
            answer = answer + int(i)
        except:
            pass

    return answer

///////////

def solution(my_string):
    return sum(int(i) for i in my_string if i.isdigit())

 

자바

 

 

import java.util.regex.Pattern;
import java.util.regex.Matcher;

class Solution {
    public int solution(String my_string) {
        int answer = 0;
        String pattern = "^[0-9]*$";
        String[] list = my_string.split("");

        for(int i = 0; i < list.length; i ++) 
        {
            if(Pattern.matches(pattern,list[i])) 
            {
                answer += Integer.parseInt(list[i]);
            }
        }
        return answer;
    }
}

 

 

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;
    }
}
728x90

설정

트랙백

댓글