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

chorok ☘️·2025년 6월 25일
0

코딩테스트

목록 보기
18/54
post-thumbnail

코딩테스트 연습 > 코딩테스트 입문 > 문자열 정렬하기 (1)

⚡ 문제 설명

문자열 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]

⚡ 구현코드

import java.util.*;

class Solution {
    public int[] solution(String my_string) {
        String intStr = my_string.replaceAll("[^0-9]","");
        int[] result = Arrays.stream(intStr.split(""))
            				 .mapToInt(Integer::parseInt)
            				 .sorted()
            				 .toArray();
        return result;
    }
}

⚡ 구현코드 해설

문자열에서 숫자가 아닌 것들을 replaceAll과 정규 표현식을 통해 없애고 숫자만 남긴다.
stream을 사용해서 숫자 문자열을 한 글자씩 나누어 배열로 만들고 오름차순 정렬하여 배열로 변환하였다.

⚡ 주요 메서드 정리

메서드설명
replaceAll("[^0-9]", "")정규표현식으로 숫자가 아닌 모든 문자를 제거
split("")문자열을 한 글자씩 잘라 문자열 배열로 반환
mapToInt(Integer::parseInt)문자열을 정수로 변환
toArray()최종적으로 int 배열로 변환

🍏 회고 및 느낀점

문자열에서 숫자만 빼내야겠다고 생각하던 차에.. 찾아보니까 문자를 없애는 방법이 있었다 !!! 발상의 전환;; ㅋ ㅋ

profile
백엔드 개발자 chorok's velog

0개의 댓글