오랜만에 푸니까 넘 재미따
문제 해결
function solution(n) {
let answer = 0;
const numArray = String(n).split("").sort((a,b)=>b-a);
answer = Number(numArray.join(""));
return answer;
}
1. 숫자를 받아와서 배열로 변환하려했다.
2. 이때 숫자는 배열로 변환할 수 없으므로 String으로 타입을 변경해준다.
3. split()메서드를 이용해 String을 지정한 구분자로("")로 배열로 변경해준다.
4. sort()를 이용해 큰 순서로 배열해준다.
5. join()을 이용해 배열의 모든 요소를 연결해 하나의 문자열로 변경한다. ("")로 연결해준다.
개선점
1. String(n).split("")은 배열로 변환된것을 직관적으로 알 수 없음.
=> 모든 숫자를 받아와 string으로 변환해 배열에 담아준다.
[...n.toString()]
2. 메소드 체이닝으로 식을 더 간결하게 표현 할 수 있다.
function solution(n) {
return +(String(n).split("").sort((a,b)=>b-a).join(""));
}
3. String,Number로 타입변환하는 방법
String(n)
n.toString()
Number(s)
parseInt(s)
+s
'알고리즘 > 문제를 풀어보쟈' 카테고리의 다른 글
서울에서 김씨 찾기... (0) | 2022.03.25 |
---|---|
약수를 더해보자! (0) | 2022.03.17 |
이상한문자를 만들어보자 (0) | 2022.03.17 |
배열을 비교해 중복제거하기 (0) | 2022.03.15 |
자연수를 뒤집어 배열로 만들어보자 (0) | 2022.03.13 |