글
프로그래머스 C# 숨어있는 숫자의 덧셈(48, Text.RegularExpressions, P, J)
프로그래밍
2022. 12. 29. 13:02
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
'프로그래밍' 카테고리의 다른 글
프로그래머스 C# 개미 군단(나머지와 몫 활용, P, J) (0) | 2022.12.29 |
---|---|
프로그래머스 C# 모음 제거하기(Replace, string[] 만들고 +=, P, J) (0) | 2022.12.29 |
프로그래머스 C# 순서쌍의 개수(사실상 약수의 개수, P, J) (0) | 2022.12.29 |
프로그래머스 C# 제곱 수 판별하기(Math.Sqrt(), P, J) (0) | 2022.12.29 |
프로그래머스 C# 자릿수 더하기(while문 활용하기) (0) | 2022.12.29 |