주니어 기초 코딩공부/JAVA_programmers_코딩테스트

문자열 정렬하기 (1)_programmers_lev00

jju_developer 2022. 12. 4. 18:19
728x90

<코딩 테스트>

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

 

<나의 풀이 과정>

우선 간단하게 replaceAll 을 통해서 영문을 전부 제거를 하였습니다.

String인 문자열을 Int형으로 변경을 해야하기 때문에 for문과 Integer.parseInt를 활용하였습니다.

출력시, Arrays.sort를 통하여 정렬된 숫자가 출력되도록 코딩하였습니다.

 

 

<나의 풀이 코드>

import java.util.Arrays;
class Solution {
    public int[] solution(String my_string) {
        String replace = "";
		replace = my_string.toLowerCase().replaceAll("[abcdefghijklmnopqrstuvwxyz]", "");
		String[] strArr = replace.split("");
		int[] answer = new int[replace.length()];

		for (int i = 0; i < strArr.length; i++) {
			answer[i] = Integer.parseInt(strArr[i]);
		}
		Arrays.sort(answer);
		return answer;
    }
}

<다른사람 풀이 1>

import java.util.*;

class Solution {
    public int[] solution(String myString) {
        return Arrays.stream(myString.replaceAll("[A-Z|a-z]", "").split("")).sorted().mapToInt(Integer::parseInt).toArray();
    }
}

 

<다른사람 풀이 2>

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;
    }
}
728x90