import java.util.*;
class Solution {
public int[] solution(String my_string) {
int[] answer = {};
int count = 0;
String sub_answer = "";
for(int i = 0; i < my_string.length(); i++) {
if(isParseInt(my_string.charAt(i)) == true) {
count++;
sub_answer += my_string.charAt(i);
}
}
answer = new int[count]; // 배열 크기 지정
for(int i = 0; i < count; i++) {
answer[i] = Integer.parseInt(sub_answer.split("")[i]);
// 한 글자씩 끊어서 배열에 저장
}
Arrays.sort(answer); // 오름차순 정렬
return answer;
}
public static boolean isParseInt(char ch) {
String str = "" + ch;
// char 타입은 parseInt가 안되기 때문에 String 타입으로 변환
try {
Interger.parseInt(str);
return true; // 숫자일 경우 true 리턴
}catch(Exception e) {
return false;
}
}
}
하드코딩을 한 것 같아서 마음이 안 좋지만 일단 풀었다는 것에 의의를 두는 걸로,,,
메소드를 하나 만들어서 parseInt를 이용해서 숫자인지 아닌지를 판별했는데 다른 사람들 코드를 보니까 정규식을 이용해서 숫자가 아닐 경우에는 ""
문자열로 치환해서 풀었더라...
나는 왜 그 생각을 못했을까...
다음에는 정규식 이용해서 풀어봐야지!