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을 곱하여 자릿수 올림 후
다음 숫자를 더하여준다.