티스토리 뷰

 

이번 문제는 문자열 속 숫자만 찾아내는 문제이다.

일단 숫자임을 찾기위해서는 각 문자들을 순차적으로 확인해야한다.

그리고 숫자라면 따로 보관하고 숫자가 연결되지 않는다면 바로 정답에 더해버리면 된다고 생각한다.

 

using System;

public class Solution {
    public int solution(string my_string) {
        int answer = 0;
        string numberStack = "";
        char[] stringList = my_string.ToCharArray();

        for (int k = 0; k < stringList.Length; k++){
            if (stringList[k] - 48 > 9) {
                if(numberStack != "") {
                    answer += Convert.ToInt32(numberStack);
                    numberStack = "";
                }
                continue;
            }

            numberStack += stringList[k];
        }
        
        if (numberStack != "")
            answer += Convert.ToInt32(numberStack);
        
        return answer;
    }
}

 

나름 만족스러운 답이 되었다.

 


 

다른 분들이 풀어낸 답 중에는 숫자를 제외한 문자를 특정 문자로 변환하여 Split을 통해 문자열 배열로 나누고 숫자가 들어있는 값들만 연산하는 방법이있었다.

 

굉장히 작업량이 많은 것 같지만 참신한 방법이라 생각한다.

결과는 굉장히 느린 편이긴 하다.

 

using System;
using System.Text.RegularExpressions;

public class Solution {
    public int solution(string my_string) {
        string[] str = Regex.Replace(my_string, @"[^0-9]", " ").Split(' ');
        int answer = 0;
        int test = 0;
        for(int i = 0; i < str.Length; i++)
        {
            int.TryParse(str[i], out test); 
            answer += test;
        }


        return answer;
    }
}

 

이번 문제는 이외에도 굉장히 다양한 방법으로 풀이하신 분들이 많은 것 같다. 서로 중첩된 정답이 거의 없을 정도이다.

다 보기는 힘드니 이정도로 하자....

최근에 올라온 글
최근에 달린 댓글
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함