[프로그래머스 C#] Lv.0 숨어있는 숫자의 덧셈 (1)

김병찬·2022년 11월 5일
0

프로그래머스 Lv.0

목록 보기
51/100

🎯문제설명

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


❌제한사항

  • 1 ≤ my_string의 길이 ≤ 1,000
  • my_string은 소문자, 대문자 그리고 한자리 자연수로만 구성되어있습니다.

💬입출력 예

my_stringresult
"aAb1B2cC34oOp"10
"1a2b3c4d123"16

💬입출력 예 설명

입출력 예 #1

  • "aAb1B2cC34oOp"안의 한자리 자연수는 1, 2, 3, 4 입니다. 따라서 1 + 2 + 3 + 4 = 10 을 return합니다.
    입출력 예 #2

  • "1a2b3c4d123Z"안의 한자리 자연수는 1, 2, 3, 4, 1, 2, 3 입니다. 따라서 1 + 2 + 3 + 4 + 1 + 2 + 3 = 16 을 return합니다.


유의사항

  • 연속된 숫자도 각각 한 자리 숫자로 취급합니다.

🔥나의 풀이

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;
            }
        }
        
        // Regex.Replace를 이용한 코드 
        /*
        string str = "";
        
        str = Regex.Replace(my_string, "[a-zA-z]", "");
        for(int i = 0; i < str.Length; i++)
        {
            answer += (int)str[i] - 48;
        }
        */       
        return answer;
    }
}

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

profile
[중요한건 꺾이지 않는 마음] Unity Developer

0개의 댓글