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
'Algorithm > Programers - Java' 카테고리의 다른 글
[프로그래머스(Java)] 가까운 1 찾기 / findFirst(), orElse() (1) | 2024.01.14 |
---|---|
[프로그래머스(Java)] 인덱스 바꾸기 / toCharArray(), String.valueOf() (0) | 2024.01.14 |
[프로그래머스(Java)] 배열의 원소만큼 추가하기 / flatMap. Collections.nCopies() (0) | 2024.01.06 |
[프로그래머스(Java)] 공백으로 구분하기 2 / 정규식 (1) | 2024.01.06 |
[프로그래머스(Java)] x 사이의 개수 / split() (1) | 2024.01.06 |