문제 : reverseInt 메소드는 int형 n을 매개변수로 입력받습니다.
n에 나타나는 숫자를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요.
예를들어 n이 118372면 873211을 리턴하면 됩니다.
n은 양의 정수입니다.
이 문제를 푸는데 상당히 애를 먹었다.
배열에 문자형으로 저장을 할지, 정수형으로 저장할지 이것저것 해보다 정렬을 해야할 것 같아서 결국
substring을 사용해 정수형으로 저장을했다.
정렬은 버블정렬로 간단하게 구현하였으나, 마지막에 정렬한 배열을 다시 정수로 변환하는 과정에서 다시 막혔다.
각 자리수 만큼 10의 거듭제곱을 해주어 다 더해주는 방식으로 값을 구하긴 했으나 이 과정에서 스레드가 발생한다.
그래서 결국 검색을 했더니, 쓰레드를 제공해주는 StringBuffer를 사용해 마지막에 형변환을 해주는 방식으로 너무나도 간단하게 구현하였다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 야근지수 구하기 (level.3) (0) | 2018.02.20 |
---|---|
프로그래머스 콜라츠 추측 (level.2) (0) | 2018.02.19 |
프로그래머스 2016년, 원하는 특정요일구하기(level.2) (0) | 2018.02.14 |
프로그래머스 하샤드수 (level.2) (0) | 2018.02.14 |
프로그래머스 최소값 만들기 (level. 2) (0) | 2018.02.13 |
댓글