Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

거인의 코딩일지

[Lv.0_Java]문자열 정렬하기(1) 본문

알고리즘테스트/Programmers

[Lv.0_Java]문자열 정렬하기(1)

코딩거인 2023. 8. 16. 09:27
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