본문 바로가기
코딩 테스트

[ 프로그래머스 ] 문자열 정렬하기(1)

by 주연배 2024. 3. 18.

문제

 

풀이

1) replaceAll()로 my_string중 알파벳을 다 공백처리해준다(제거)
2) charAt()으로 my_string의 글자를 하나씩 가져와 배열에 넣어준다.
3) Arrays.sort()로 정렬해준다.

 

결과

import java.util.Arrays;
class Solution {
    public int[] solution(String my_string) {
        String str = my_string.replaceAll("[^0-9]",""); 
        int[] answer = new int[str.length()];
     
        for(int i=0; i<str.length(); i++){
           answer[i] = Integer.parseInt(String.valueOf(str.charAt(i)));
       }
        
        Arrays.sort(answer);
        return answer;
    }
}

 


import java.util.Arrays;
class Solution {
    public int[] solution(String my_string) {
        String str = my_string.replaceAll("[^0-9]",""); 
        int[] answer = new int[str.length()];
      
        for(int i=0; i<str.length(); i++){
           char[] ch = str.toCharArray();
           answer[i] = ch[i]-'0'; // 문자를 숫자로 변환해줌
       }
        Arrays.sort(answer);
        return answer;
    }
}

 

char[]배열을 만들어서도 문제를 풀어 볼 수 있었다! 이때 주의할 점은 answer[i] = ch[i] - '0'; 이였다.

 '0'을 빼주는 이유는 문자를 숫자로 반환하기 위함이다.

 

예전에 '0'을 빼주는 이유를 본 적이 있었는데 너무 오랜만에 보니깐 왜 빼주는지 감이 안왔다.. 그치만 이번 기회를 통해 다시 한번 볼 수 있어서 좋았던 것 같다!  매번 느끼지만 문제를 여러번 보면서 까먹었던 내용을 다시 상기시키는 과정 또한 중요하다는 것을 느낀다.