거인의 코딩일지
[Lv.0_Java]문자열 정렬하기(1) 본문
728x90
import java.util.*;
class Solution {
public int[] solution(String my_string) {
int size = 0;
char [] arr = my_string.toCharArray();
for(int i = 0; i < arr.length; i++){
if((int)arr[i] < 97){
size++;
}
}
int[] answer = new int [size];
int k = 0;
for(int i = 0; i < arr.length; i++){
if((int)arr[i] < 97){
answer[k++] = Character.getNumericValue(arr[i]);
}
}
Arrays.sort(answer);
return answer;
}
}
우선 배열에 넣어주기 위해서 배열의 길이를 먼저 찾아주었다. char 배열로 담은 다음에 아스키 코드를 활용해서 size 를 찾았고 똑같은 방법으로 answer 배열에 담아주었는데 char 에서 int 로 바꾸려고 하닌까 아스키 코드로 넘어가기에 String 로 변환한다음에 Integer.valueOf() 함수를 쓸까 하다가 너무 번거러워서 찾아보던중 Character.getNumericValue() 라는 함수를 알게되었고 이걸 사용하여 int 형식으로 배열에 담아준 다음 sort() 함수를사용하여 return 해주었다.
getNumericValue() 메소드를 사용하면 숫자로 된 char형을 숫자형태 그대로 반환해준다.
import java.util.*;
class Solution {
public int[] solution(String my_string) {
my_string = my_string.replaceAll("[a-z]","");
int[] answer = new int[my_string.length()];
for(int i =0; i<my_string.length(); i++){
answer[i] = my_string.charAt(i) - '0';
}
Arrays.sort(answer);
return answer;
}
}
확실히 다른 사람 풀이를 보닌까 아직 갈길이 멀다....!
728x90
'알고리즘테스트 > Programmers' 카테고리의 다른 글
[Lv.0_Java] 최빈값 구하기 (0) | 2023.08.16 |
---|---|
[Lv.0_Java] 가장 큰 수 찾기 (0) | 2023.08.16 |
[Lv.0_Java] 최댓값 만들기(2) (0) | 2023.08.16 |
[Lv.1_Java] 직사각형 별찍기 (0) | 2023.08.16 |
[Lv.0_Java] 직각삼각형 출력하기 (0) | 2023.08.16 |