Eggs Sunny Side Up
본문 바로가기
Algorithm/Programmers_Java

[Java] 문자열 정렬하기 (1)_String배열->int배열로 형변환

by guswn100059 2023. 4. 11.

문제 설명

문자열 my_string이 매개변수로 주어질 때, my_string 안에 있는 숫자만 골라 오름차순 정렬한 리스트를 return 하도록 solution 함수를 작성해보세요.


제한사항
  • 1 ≤ my_string의 길이 ≤ 100
  • my_string에는 숫자가 한 개 이상 포함되어 있습니다.
  • my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다. - - -
입출력 예my_stringresult
"hi12392" [1, 2, 2, 3, 9]
"p2o4i8gj2" [2, 2, 4, 8]
"abcde0" [0]

입출력 예 설명

입출력 예 #1

  • "hi12392"에 있는 숫자 1, 2, 3, 9, 2를 오름차순 정렬한 [1, 2, 2, 3, 9]를 return 합니다.

입출력 예 #2

  • "p2o4i8gj2"에 있는 숫자 2, 4, 8, 2를 오름차순 정렬한 [2, 2, 4, 8]을 return 합니다.

입출력 예 #3

  • "abcde0"에 있는 숫자 0을 오름차순 정렬한 [0]을 return 합니다.

 

문자에서 숫자만 추출하는 방법)

String my_string = "hi12392";

String answer = "";
		
for(int i = 0; i < my_string.length(); i++) {
	char c = my_string.charAt(i);
	if(c>=48 && c<=57) answer += c;
}
		
System.out.println(answer);
// 12392

String my_string = "hi12392";

String arr = my_string.replaceAll("[^0-9]", "");
System.out.println(arr);
// 12392

String my_string = "hi12392";

String arr1 = my_string.replaceAll("[^\\d]", "");
System.out.println(arr1);
//12392

String my_string = "hi12392";

String[] arr = my_string.split("");

for(int i = 0; i < arr.length; i++) {
	if(arr[i].equals("0")) answer += "0";
	if(arr[i].equals("1")) answer += "1";
	if(arr[i].equals("2")) answer += "2";
	if(arr[i].equals("3")) answer += "3";
	if(arr[i].equals("4")) answer += "4";
	if(arr[i].equals("5")) answer += "5";
	if(arr[i].equals("6")) answer += "6";
	if(arr[i].equals("7")) answer += "7";
	if(arr[i].equals("8")) answer += "8";
	if(arr[i].equals("9")) answer += "9";		
}

System.out.println(answer);
// 12392

 

문제풀이 최종)

import java.util.Arrays;

class Solution {
    public int[] solution(String my_string) {
        String arr = my_string.replaceAll("[^0-9]", "");
		
        String[] str = arr.split("");
		
        // String 배열을 int 배열로 형변환
        int[] a1 = new int[str.length];
		
        for(int i = 0; i < a1.length; i++) {
        	a1[i] = Integer.parseInt(str[i]);
        }
		
        Arrays.sort(a1);  
        return a1;
        
    }
}

'Algorithm > Programmers_Java' 카테고리의 다른 글

[Java] 직각삼각형 출력하기  (0) 2023.04.13
[Java] 주사위의 개수  (0) 2023.04.12
[Java] 세균 증식_비트연산자  (0) 2023.04.10
[Java] 가위 바위 보  (0) 2023.04.09
[Java] 대문자와 소문자  (0) 2023.04.09

댓글