문자열 정렬하기 (1)

문제


나의 생각

 

숫자인 값을 따로 분리해서 다시 배열에 집어 넣음 -> Arrays.sort 함수를 이용하여 자동 정렬.

 


나의 답안

public static int[] solution(String s) {
    String r = "";
    for (int i = 0 ; i < s.length(); i++){
        if(s.charAt(i) >= 48 && s.charAt(i) <= 57){
            r += s.charAt(i);
        }
    }

    int[] answer = new int[r.length()];
    for (int i = 0 ; i < r.length(); i ++) {
        answer[i] = r.charAt(i) - 48;
    }
    Arrays.sort(answer);
    System.out.println(Arrays.toString(answer));

    return answer;
}

다른 답안

 

기존에 있는 문자들을 replaceAll을 통해 빈문자열로 변경 시키면 첫번째 for문이 필요가 없어진다. 이러한 생각의 전환점을 자주 늘려줘야 할 듯하다. 

 

import java.util.*;

class Solution {
    public int[] solution(String my_string) {

        my_string = my_string.replaceAll("[a-z]","");

        int[] answer = new int[my_string.length()];

        for(int i =0; i<my_string.length(); i++){
            answer[i] = my_string.charAt(i) - '0';
        }

        Arrays.sort(answer);

        return answer;
    }
}

'Programmers 문제풀이 > Lv.0' 카테고리의 다른 글

n의 배수 고르기  (0) 2023.02.27
직각삼각형 출력하기  (0) 2023.02.27
가위 바위 보  (0) 2023.02.26
대문자와 소문자  (0) 2023.02.26
암호 해독  (0) 2023.02.26