문제
풀이
1. n을 문자열로 바꾼 후
2. split을 이용하여 배열로 바꿔준다.
3. 그 후 sort로 배열을 정렬하기
4. 정렬해준 배열을 for문을 돌려 역수로 만듦
5. 만들어준 배열을 long 타입으로 변환시켜준다.
결과 (자바)
import java.util.Arrays;
class Solution {
public long solution(long n) {
String answer = "";
String[] str = String.valueOf(n).split("");
Arrays.sort(str);
for(int i=str.length-1; i>=0; i--){
answer +=str[i];
}
return Long.parseLong(answer);
}
}
function solution(n) {
var answer = 0;
return parseInt((n+'').split('').sort().reverse().join(''));
}
위 코드는 자바스크립트로 풀었을때의 결과다.
자바 코드랑 비교해본다면 훨씬 깔끔하고 가독성이 좋아진 모습을 볼 수 있었다.
다음은 js로 풀었을 때의 코드를 분석해 보도록 하겠다!
(n+'') : 정수를 문자열로 바꿔준다 split('') : 배열로 바꿔준다 sort() : 배열을 오름차순으로 정렬시켜준다 reverse() : 배열의 순서를 반전시키는 배열 메소드다 //내림차순으로 변경 join('') : 배열을 ('' 기준으로) 문자열로 바꿔준다 parseInt() : 정수로 변환
js풀이를 찾아보니 다음과 같은 코드를 짤 수도 있다는 것에 엄청 놀랐다. 지금까지 자바로 풀었을 때와는 차원이 다르게 깔끔하다는 느낌이다.. 이렇게 js로 풀어보면서 reverse()와 join() 그리고 parseInt()에 대해 알아간다! 앞으로도 js로 문제를 풀면서 다양한 메서드들을 알아보고 싶다.
'코딩 테스트' 카테고리의 다른 글
[ 프로그래머스 ] 암호 해독 (0) | 2024.04.02 |
---|---|
[ 프로그래머스 ] 가위 바위 보 (0) | 2024.03.25 |
[ 프로그래머스 ] 짝수 홀수 개수 (0) | 2024.03.20 |
[ 프로그래머스 ] 문자열 정렬하기(1) (1) | 2024.03.18 |
[ 프로그래머스 ] 숨어있는 숫자의 덧셈 (0) | 2024.03.17 |