[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 |