Algorithm/inflearn
숫자만 추출
마닐라
2021. 9. 4. 22:22
1. 자릿수 하나씩 올려주기
import java.util.Scanner;
class Main {
public int solution(String str) {
int answer = 0;
for(char x : str.toCharArray()){
//숫자이면 --> 문자 0이 48이고 문자 9가 57임.
if(x >= 48 && x <= 57) {
answer += answer * 10 + (x-48);
}
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
String str = kb.next();
System.out.println(T.solution(str));
}
}
-> 문자 x가 숫자이면 조건문 안에 들어오는데 들어오게 되면 x가 숫자로 변환되어서 질문 올려둠...
-> 누적을 하면 안된다! answer = answer * 10 + (x-48) 로 변경해야함!
2.isDigit 메서드와 parseInt 사용
import java.util.Scanner;
class Main {
public int solution(String s) {
String answer = "";
for(char x : s.toCharArray()){
//이게 숫자냐?
if(Character.isDigit(x)) answer += x;
}
//0208이 208이 됨
return Integer.parseInt(answer);
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
String str = kb.next();
System.out.println(T.solution(str));
}
}