문제
풀이 방법
- 문자열 중에 숫자만 List에 추가한다.
- List를 오름차순으로 정렬 후 List 크기의 배열을 만들어 이동시킨다.
코드
import java.util.*;
class Solution {
public int[] solution(String my_string) {
List<Integer> list = new ArrayList<>();
for(int i=0; i<my_string.length(); i++){
if(my_string.charAt(i)>='0'&&my_string.charAt(i)<='9'){
list.add(Integer.valueOf(my_string.charAt(i))-'0');
}
}
Collections.sort(list);
int[] answer = new int[list.size()];
int i=0;
for(int a:list){
answer[i]=a;
i++;
}
return answer;
}
}
👇🏻 스트림 활용
class Solution {
public int[] solution(String myString) {
return Arrays.stream(myString.replaceAll("[A-Z|a-z]", "").split("")).sorted().mapToInt(Integer::parseInt).toArray();
}
}
'코딩테스트' 카테고리의 다른 글
[프로그래머스 / lv 1] 문자열 내림차순으로 배치하기 (JAVA) (0) | 2023.04.15 |
---|---|
[프로그래머스 / lv 0] 문자열 정렬하기(1) (JAVA) (0) | 2023.04.07 |
[프로그래머스 / lv 0] 옹알이(1) (JAVA) (0) | 2023.04.03 |
[백준 / 실버4] 3036 : 링 (JAVA) (0) | 2023.03.27 |
[백준 / 실버3] 1021 : 회전하는 큐 (JAVA) (0) | 2023.03.26 |