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 함수쪽을 다시 공부하는 시간을 가져봐야겠다..
'코딩 테스트' 카테고리의 다른 글
[프로그래머스] Lv1 두 정수 사이의 합 - Java (0) | 2024.03.13 |
---|---|
[프로그래머스] Lv1 하샤드 수 - Java (0) | 2024.03.13 |
[프로그래머스] Lv1 정수 제곱근 판별 - Java (2) | 2024.03.12 |
[프로그래머스] Lv1 자연수 뒤집어 배열로 만들기 - Java (0) | 2024.03.11 |
[프로그래머스] Lv1 문자열 내 p와 y의 개수 - Java (1) | 2024.03.11 |