[프로그래머스] 문자열 정렬하기(1) 문제 풀이(Java)

이하영·2023년 5월 22일
0

코딩테스트

목록 보기
19/21
post-thumbnail

✔ 문제 설명

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


✔ 제한사항

  1. 1 ≤ my_string의 길이 ≤ 100
  2. my_string에는 숫자가 한 개 이상 포함되어 있습니다.
  3. my_string은 영어 소문자 또는 0부터 9까지의 숫자로 이루어져 있습니다.

💬 내 풀이

import java.util.*;

class Solution {
    public int[] solution(String my_string) {
        
        //문자열 중에 숫자만 뽑아오기
        char[] str_arr=my_string.toCharArray();
        String num="";
        
        for(int i=0;i<str_arr.length;i++){
            if(str_arr[i]>=48 && str_arr[i]<=57){
                num+=str_arr[i]+"";
            }
        }
        
        //숫자 오름차순 정렬하기
        char[] num_arr=num.toCharArray();
        int[] answer=new int[num_arr.length];
        
        for(int i=0;i<num_arr.length;i++){
            answer[i]=Integer.parseInt(String.valueOf(num_arr[i]));
        }
        Arrays.sort(answer);
        
        return answer;
    }
}

문자열을 배열로 만들고 숫자인 것만 뽑아온다.
뽑아온 숫자를 문자열 배열로 만들고
요소를 모두 정수형으로 변환한 후,
배열을 오름차순으로 정렬한다.

⭐ .toCharArray()

String.toCharArray()
문자열(String)을 쪼개서 문자(Char) 배열로 변환하는 메소드

⭐ .valueOf()

.valueOf()
괄호 안의 객체를을 String으로 변환하는 메소드
괄호 안에는 boolean/double/float/int/long/String 등의 타입이 올 수 있음

⭐ Arrays.sort()

import java.util 패키지의 Arrays 클래스 중 sort 메소드를 사용하면 배열을 쉽게 오름차순 정렬할 수 있다.

Arrays.sort(배열)

profile
안녕하세요, 웹 개발자 이하영입니다!

0개의 댓글