본문 바로가기
알고리즘/프로그래머스

프로그래머스 정수 내림차순으로 배치하기 (level.2)

by 코리늬 2018. 2. 19.

문제 : reverseInt 메소드는 int형 n을 매개변수로 입력받습니다.

n에 나타나는 숫자를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요.

예를들어 n이 118372면 873211을 리턴하면 됩니다.

n은 양의 정수입니다.



이 문제를 푸는데 상당히 애를 먹었다.

배열에 문자형으로 저장을 할지, 정수형으로 저장할지 이것저것 해보다 정렬을 해야할 것 같아서 결국

substring을 사용해 정수형으로 저장을했다.

정렬은 버블정렬로 간단하게 구현하였으나, 마지막에 정렬한 배열을 다시 정수로 변환하는 과정에서 다시 막혔다.

각 자리수 만큼 10의 거듭제곱을 해주어 다 더해주는 방식으로 값을 구하긴 했으나 이 과정에서 스레드가 발생한다.

그래서 결국 검색을 했더니, 쓰레드를 제공해주는 StringBuffer를 사용해 마지막에 형변환을 해주는 방식으로 너무나도 간단하게 구현하였다.


댓글