문제
풀이
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'을 빼주는 이유를 본 적이 있었는데 너무 오랜만에 보니깐 왜 빼주는지 감이 안왔다.. 그치만 이번 기회를 통해 다시 한번 볼 수 있어서 좋았던 것 같다! 매번 느끼지만 문제를 여러번 보면서 까먹었던 내용을 다시 상기시키는 과정 또한 중요하다는 것을 느낀다.
'코딩 테스트' 카테고리의 다른 글
[ 프로그래머스 ] 정수 내림차순으로 배치하기 (0) | 2024.03.23 |
---|---|
[ 프로그래머스 ] 짝수 홀수 개수 (0) | 2024.03.20 |
[ 프로그래머스 ] 숨어있는 숫자의 덧셈 (0) | 2024.03.17 |
[ 프로그래머스 ] n의 배수 고르기 (0) | 2024.03.17 |
[ 프로그래머스 ] 가장 큰 수 찾기 (0) | 2024.03.13 |