알고리즘/인프런_자바코테강의

인프런 9. 숫자만 추출 (Java)

고구마와 감자 2022. 3. 25. 15:55

 

내 풀이 

Character클래스의 isDigit 메서드를 활용하여 숫자 판별 

public class Main {

    public void solution(String s) {
        String answer = "";
        for (char x : s.toCharArray()) {
            if (Character.isDigit(x)) answer+=x;
        }
        System.out.println(Integer.parseInt(answer));
    }

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

 

다른 풀이 

아스키코드 활용. 48~ 57은 0~9이다. 

10을 곱하여 뒤에 숫자를 더하는 방식으로 결과값을 구함. 

public class Main2 {

    public void solution(String s) {
        int answer = 0;
        for(char x : s.toCharArray()) {
            if (x >= 48 && x  <= 57) answer = answer * 10 + (x - 48);
        }
        System.out.println(answer);

    }

    public static void main(String[] args) {
        Main2 T = new Main2();
        Scanner sc = new Scanner(System.in);
        String s = sc.next();
        T.solution(s);
    }
}