본문 바로가기
코딩 테스트

[프로그래머스] Lv1 정수 내림차순으로 배치하기 - Java

by 그리득 2024. 3. 12.
728x90

문제 출처

https://school.programmers.co.kr/learn/courses/30/lessons/12933

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 설명

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

 

제한 조건

  • n은 1이상 8000000000 이하인 자연수입니다.

입출력 예

n return
118372 873211

코드

long타입의 n을 String 배열로 만들어주고 내림차순으로 정렬 후 answer에 하나씩 담아준다.

마지막 수는 1의자리기 때문에 10을 나눠줬는데 이건 수정이 조금 들어가야 할 거 같다.

 

사담

다른 사람들의 풀이를 보니 StringBuffer,Builder를 생성해서 만들면 내림차순을 할 필요 없이 오름차순만 하고

하나씩 담아주면 끝이 난다...

연산식이 들어가지 않아서 속도면에서나 가독성면에서도 좋아보인다.

내 풀이는 return값 answer에 10을 나눠줘서 보기에도 안 좋아 보이고 다른 사람이 봤을 때 직관적이지 못하는 코드같다..

코드를 직관적이게 짜는 습관을 들이고, String 함수쪽을 다시 공부하는 시간을 가져봐야겠다..