Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags more
Archives
Today
Total
관리 메뉴

ultra_dev

문자열. 숫자만 추출 본문

알고리즘

문자열. 숫자만 추출

ultra_dev 2023. 1. 12. 01:32

9. 숫자만 추출

설명

문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만듭니다.

만약 “tge0a1h205er”에서 숫자만 추출하면 0, 1, 2, 0, 5이고 이것을 자연수를 만들면 1205이 됩니다.

추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다.

입력

첫 줄에 숫자가 섞인 문자열이 주어집니다. 문자열의 길이는 100을 넘지 않습니다.

출력

첫 줄에 자연수를 출력합니다.

예시 입력 1

g0en2T0s8eSoft

예시 출력 1

208

📌 아스키넘버를 활용한 방법

import java.util.Scanner;

class Main {
    public int solution(String str) {

        int answer = 0;
        for (char x : str.toCharArray()) {
//아스키코드 48 -> 0 과 57 -> 9 알아두면 좋음 
//만약 기존 대답이 2고 추가숫자가3이면 2*10하고 3추가
//그럼23이고 여기에 10곱하고 추가숫자가 4면 234되고 이런식!! 
            if (x >= 48 && x <= 57) answer = answer * 10 + (x - 48);
        }
        return answer;
    }
    
        public static void main (String[]args){
            Main T = new Main();
            Scanner sc = new Scanner(System.in);
            String str = sc.next();
            System.out.println(T.solution(str));
        }
    }

📌 Character.IsDigit 활용! (숫자인지 확인하는 메소드)
📌Integer.ParseInt 활용하기! (0455같은 String문자를 455같은 숫자화해야하니)

import java.util.Scanner;

class Main {
    public int solution(String str) {

        String answer = "";
        for (char x : str.toCharArray()) {
            //Character 클래스 활용. isDigit 즉 x가 숫자냐는 메소드

            if(Character.isDigit(x)) answer+=x;
        }
        //바로 return answer; 하면 0있으면 0208 이런 식으로 되니
        //parse int 해줘야 208로 숫자화됨
        return Integer.parseInt(answer);
    }

        public static void main (String[]args){
            Main T = new Main();
            Scanner sc = new Scanner(System.in);
            String str = sc.next();
            System.out.println(T.solution(str));
        }
    }

'알고리즘' 카테고리의 다른 글

문자열.문자열 압축  (0) 2023.01.12
문자열.가장 짧은 문자거리  (0) 2023.01.12
문자열.유효한 팰린드롬  (0) 2023.01.12
문자열.문장 속 단어(indexOf(),substring())  (0) 2023.01.12
문자열.단어뒤집기  (0) 2023.01.12
Comments