숫자만 추출하기

문제

설명

문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만듭니다. 만약 “tge0a1h205er”에서 숫자만 추출하면 0, 1, 2, 0, 5이고 이것을 자연수를 만들면 1205이 됩니다. 추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다.

입력

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

출력

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

예시 입력 1

g0en2T0s8eSoft

해결방법

  • Character.isDigit() 을 활용하면 문자가 숫자인지 판단하여 리턴 가능.
  • Character.isAlphabetic() 는 알파벳인지 판단하는 메소드.

    Char x;
    Character.isDigit(x); // true or false return.
    

코드

import java.util.*;

class Main {
    public int solution(String s) {
        //int answer=0;
        String answer = "";
        for (char x : s.toCharArray()) {
            // 아스키 코드를 이용하여 판단할 수도 있음.
            //if(x>=48 && x<=57) answer=answer*10+(x-48);
            /*if(Character.isDigit(x)){
                answer=answer*10+ Character.getNumericValue(x);
            }*/
            // 판단 메소드 활용하여 구하기
            if (Character.isDigit(x)) answer += x;
        }
        return Integer.parseInt(answer);
    }

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


© 2024. Chiptune93 All rights reserved.