[문제풀이] 01-09. 숫자만 추출

𝒄𝒉𝒂𝒏𝒎𝒊𝒏·2023년 10월 24일
0

인프런, 자바(Java) 알고리즘 문제풀이

String(문자열) 다루기 - 0109. 숫자만 추출


🗒️ 문제


🎈 나의 풀이

	private static int solution(String str) {
        str = str.replaceAll("[^0-9]","");
        return Integer.parseInt(str);
    }

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


🖍️ 강의 풀이

    private static int solution(String str) {
        int answer = 0;

        for(char x : str.toCharArray()) {
            if(x >= 48 && x <= 57) answer = answer * 10 + (x-48);
        }

        return answer;
    }

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


💬 짚어가기

나의 풀이의 경우 정규표현식을 이용하여 숫자가 아닌 문자를 지우고,
Integer 클래스의 parseInt() 메소드를 통해 정수로 파싱하였다.

강의에서는 아스키 코드를 활용하여 숫자인지 판별하고, 문자와 숫자 연산을 통해
숫자로 변환하도록 구현했다. 이 때 이전 answer에 10을 곱하여 자릿수 올림 후
다음 숫자를 더하여준다.

profile
𝑶𝒏𝒆 𝒅𝒂𝒚 𝒐𝒓 𝒅𝒂𝒚 𝒐𝒏𝒆.

0개의 댓글