728x90
SMALL

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;

public class Solution {
    public int solution(string my_string) {
        my_string += "K";
        int answer = 0;
        int save = 0;


        for(int i = 0; i < my_string.Length; i++)
        {
            if(char.IsDigit(my_string[i]) == true)
            {
                save = save * 10 + ((int)my_string[i] - 48);
            }
            else
            {
                answer += save;
                save = 0;
            }
        }
        return answer;
    }
}

 

 

 

///

 

 

 

using System;

public class Solution
{
    public int solution(string my_string)
    {
        int answer = 0;
        string temp = String.Empty;
        
        for(int i=0; i<my_string.Length; i++)
        {
            if (int.TryParse(my_string[i].ToString(), out int num))
                temp += num.ToString();
            else if (temp != String.Empty)
            {
                answer += int.Parse(temp);
                temp = String.Empty;
            }

            if(i == my_string.Length - 1 && temp != String.Empty)
                answer += int.Parse(temp);
        }

        return answer;
    }
}

 

 

 

int.PryParse(string str, out int result) 는 문자열(string)을  숫자로 변환할 때 사용한다.

str : 변환할 숫자가 포함된 문자열

result : 변환이 성공한 경우 str에 포함된 숫자의 정수 값을 반환하고, 변환이 실패한 경우 0을 반환

int 대신에 double, int32 를 쓸 수도 있다.

 

 

 

 

파이썬

/////////////////

import re

def solution(my_string):
    return sum([int(i) for i in re.findall(r'[0-9]+', my_string)])

 

 

 

////////////

 

 

 

def solution(my_string):
    s = ''.join(i if i.isdigit() else ' ' for i in my_string)
    return sum(int(i) for i in s.split())

 

 

 

/////////

 

 

 

자바

 

 

class Solution {
    public int solution(String my_string) {
        int answer = 0;
        String[] str = my_string.replaceAll("[a-zA-Z]", " ").split(" ");

        for(String s : str)
        {
            if(!s.equals("")) answer += Integer.valueOf(s);
        }

        return answer;
    }
}

 

 

/////

 

 

import java.util.StringTokenizer;

class Solution {
    public int solution(String my_string) {
        int answer = 0;
        String s = my_string.replaceAll("[^0-9]", " ");
        StringTokenizer st = new StringTokenizer(s, " ");

        while (st.hasMoreTokens()) 
        {
            answer += Integer.parseInt(st.nextToken());
        }

        return answer;
    }
}

 

 

 

//////////////////////

 

 

 

import java.util.*;

class Solution {
    public int solution(String myString) {
        return Arrays.stream(myString.split("[A-Z|a-z]")).filter(s -> !s.isEmpty()).mapToInt(Integer::parseInt).sum();
    }
}

 

 

class Solution {
    public int solution(String my_string) {
        int answer = 0;
        String[] str = my_string.split("[a-zA-Z]");
        
        for(int i = 0 ; i < str.length;i++)
        {
            if(str[i].length() > 0)
                answer+=Integer.parseInt(str[i]);
        }
        
        return answer;
    }
}
728x90

설정

트랙백

댓글