[JAVA] 9. 숫자만 추출

2021. 4. 14. 22:14
728x90

설명

 

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

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

 

 

풀이

 

public class Main  {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        String input = in.nextLine().toLowerCase();

		// 숫자가 아니면 빈칸으로
        input = input.replaceAll("[^0-9]", "");

		// 인트로 변환
        int result = Integer.parseInt(input);
        System.out.println(result);
    }
}

 

 

다른 풀이 - 아스키코드

 

public class Main  {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        String input = in.nextLine();
		int
		for( char x : input.toCharArray()){
        	if( x >= 48 && x <= 57){
            	answer = answer * 10 + (x-48);
            }
        }

        System.out.println(answer);
    }
}

 

 

다른 풀이 - isDigit

 

public class Main  {

    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);

        String input = in.nextLine();
        String answer = "";

		for(char x: input.toCharArray()){
        		// 문자가 숫자 인지
            if(Character.isDigit(x)){
            	answer += x;
            }
        }

		// 인트로 변환
        int result = Integer.parseInt(input);
        System.out.println(result);
    }
}
728x90

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

[JAVA] 11. 문자열 압축  (0) 2021.04.15
[JAVA] 10. 가장 짧은 문자거리  (0) 2021.04.15
[JAVA] 8. 유효한 팰린드롬  (0) 2021.04.14
[JAVA] 7. 회문 문자열  (0) 2021.04.14
[JAVA] 6. 중복문자 제거  (0) 2021.04.14

BELATED ARTICLES

more