나의 풀이
import java.util.*;
class Solution {
public int[] solution(String my_string) {
my_string=my_string.replaceAll("[^0-9]", "");
int[] result = new int[my_string.length()];
for (int i = 0; i < my_string.length(); i++) {
result[i] = my_string.charAt(i) - '0';
}
Arrays.sort(result);
return result;
}
}
▶ [^0-9]는 0~9의 숫자가 아닌 문자열을 의미한다.
▶ replaceAll(A, B) → 문자열 A를 문자열B로 바꾼다.
▶ replaceAll(A, "") → 문자열 A를 제거한다.
▶ String클래스의 charAt(i)의 리턴타입은 char 즉 "문자"인데
문자에서 '0'을 빼면 앞의 문자가 숫자로 바뀐다.
▶'3' - '0' → 3
다른 사람의 풀이
import java.util.*;
class Solution {
public int[] solution(String myString) {
return Arrays.stream(myString.replaceAll("[A-Z|a-z]", "").split("")).sorted().mapToInt(Integer::parseInt).toArray();
}
}
▶ | 이 표시는 or에 해당한다.
▶ Stream(), mapToInt(),
▶ 메서드 참조 Integer::parseInt
'프로그래머스(자바) > LV.0(자바)' 카테고리의 다른 글
n배수 고르기 - List를 int형 배열로 전환★ +filter()★ (0) | 2022.11.24 |
---|---|
문자열 정렬하기(2) - String클래스의 toCharArray() (0) | 2022.11.24 |
직각삼각형 출력하기★ - 독특하게 풀 수도 있다. + 이중for문 (0) | 2022.11.24 |
역삼각형 출력하기-★별찍기 (0) | 2022.11.24 |
모음제거 → String 클래스 →contains(), replaceAll()★ + 정규식★ (0) | 2022.11.22 |