본문 바로가기

Algorithm/Programers - Java

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

 

Level. 0

 

문제

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

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

 

 

풀이1

import java.util.List;
import java.util.Arrays;
import java.util.ArrayList;

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

        List<Integer> list = new ArrayList<>();
        for(int i=0; i<my_string.length(); i++){
            if(Character.isDigit(my_string.charAt(i))) list.add(my_string.charAt(i)-'0');
        }
        
        int[] answer = new int[list.size()];
        for(int i=0; i<answer.length; i++){
            answer[i] = list.get(i);
        }
        
        Arrays.sort(answer);
        
        return answer;
        
    }
}

 

 

풀이2 - stream

import java.util.Arrays;

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

        return Arrays.stream(my_string.replaceAll("[A-Z|a-z]","").split("")).mapToInt(i -> Integer.parseInt(i)).sorted().toArray();
        
    }
}

 

 

 


https://school.programmers.co.kr/learn/courses/30/lessons/120850?language=java

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr