2024 - 09 -30

e_zy·2024년 9월 30일

<오늘자 프로그래머스 문제>
함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.

이 문제를 보고 n의 각 자릿수를 개별로 분리하여 정수를 문자열로 변환해야겠다는 생각을 했다. 정수의 자릿수를 분리한 후, 이를 큰 순서로 정렬하는 작업을 어떻게 처리할지 고민하게 되었다. 우선 n을 문자열로 변환하여 split()을 통해 자릿수들을 배열로 만들었다. 그런 다음 Arrays.sort()를 이용해 자릿수를 오름차순으로 정렬하고, 역순으로 뒤집어 큰 자릿수부터 작은 자릿수로 재배열했다.

마지막으로 StringBuilder를 사용하여 배열의 자릿수들을 다시 하나의 문자열로 결합하고, 이를 정수로 변환하여 반환하는 방식으로 문제를 해결했다. 이번 문제를 통해 문자열 처리와 정렬의 중요성을 다시 한번 느꼈고, 특히 자릿수를 다루는 방법에 대한 감각을 익힐 수 있었다.

추가적으로, 문제를 풀면서 StringBuilder가 문자열 결합에서 효율적이라는 점과 정렬 후 reverse()로 역순을 쉽게 처리할 수 있다는 것을 배웠다. 앞으로 이런 유형의 문제를 만날 때 적용할 수 있을 것 같다.

profile
코딩 왕초보

0개의 댓글