문제
설명
문자와 숫자가 섞여있는 문자열이 주어지면 그 중 숫자만 추출하여 그 순서대로 자연수를 만듭니다.
만약 “tge0a1h205er”에서 숫자만 추출하면 0, 1, 2, 0, 5이고 이것을 자연수를 만들면 1205이 됩니다.
추출하여 만들어지는 자연수는 100,000,000을 넘지 않습니다.
입력
첫 줄에 숫자가 섞인 문자열이 주어집니다. 문자열의 길이는 100을 넘지 않습니다.
출력
첫 줄에 자연수를 출력합니다.
내 풀이
import java.util.Scanner;
public class Main1_9 {
public int Solution(String s) {
int answer = 0;
s = s.toUpperCase().replaceAll("[A-Z]", "");
answer = Integer.parseInt(s);
return answer;
}
public static void main(String[] args) {
Main1_9 T = new Main1_9();
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println(T.Solution(str));
}
}
8. 유효한 팰린드롬 문제에서 나왔던 replaceAll() 함수를 기억해서 적용했다.
https://rookie-programmer.tistory.com/21
선생님 풀이
import java.util.Scanner;
public class Main1_9 {
public int Solution(String s) {
String answer = "";
for(char x : s.toCharArray()) {
if(Character.isDigit(x)) answer += x;
}
return Integer.parseInt(answer);
}
public static void main(String[] args) {
Main1_9 T = new Main1_9();
Scanner sc = new Scanner(System.in);
String str = sc.next();
System.out.println(T.Solution(str));
}
}
결과
알게된 점
1. Character.isDigit()
https://rookie-programmer.tistory.com/16
'Algorithm > Inflearn' 카테고리의 다른 글
[Inflearn] 자바 알고리즘 문제풀이 #01-11 11. 문자열 압축 (0) | 2022.11.04 |
---|---|
[Inflearn] 자바 알고리즘 문제풀이 #01-10 10. 가장 짧은 문자거리 (0) | 2022.11.02 |
[Inflearn] 자바 알고리즘 문제풀이 #01-08 8. 유효한 팰린드롬 (0) | 2022.10.31 |
[Inflearn] 자바 알고리즘 문제풀이 #01-07 7. 회문 문자열 (0) | 2022.10.27 |
[Inflearn] 자바 알고리즘 문제풀이 #01-06 6. 중복문자제거 (0) | 2022.10.26 |