프로그래머스(Level 0) - 💳 문자열 정렬하기(1)

Gammi·2023년 4월 24일
0

프로그래머스

목록 보기
58/69

✔ 문제






✔ 해결


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를 이용해서 숫자인지 아닌지를 판별했는데 다른 사람들 코드를 보니까 정규식을 이용해서 숫자가 아닐 경우에는 "" 문자열로 치환해서 풀었더라...

나는 왜 그 생각을 못했을까...

다음에는 정규식 이용해서 풀어봐야지!

profile
개발자가 되었어요⭐️

0개의 댓글