https://school.programmers.co.kr/learn/courses/30/lessons/12933
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr

문제해결 접근방식
사실 그렇게 어려운 문제는 아니었다.
1. 숫자를 각자 비교하기 위해선 가장 편리하게 배열형태로 바꾸어준다.
2. 배열을 각각 비교하여 비교 순차를 돌린다.
3. 정렬된 값을 숫자의 형태로 바꾼다.
하지만 나는 정렬까지는 모두 완료했지만, 마지막에서 숫자의 형태로 바꾸는 방법을 잘 알지 못했다..
그래서 문제풀이간에 여러가지 생각과 추론을 해보았고, 그런 가능성이 존재하는 추론을 적어내기로 했다.
1. 받은 배열 문자열의 형태를 sort("")를 이용해 빈 문자열을 넣으면 문자열이 모두 붙어서 저장되게 된다.
1-1. 문자열 자체에 + 를 주어서 숫자로 변환한다.
1-2. Number() 함수를 이용해서 숫자로 변환한다.
1-3. parserInt() 함수를 이용하여 숫자로 변환한다.
이를 코드로 보면 다음과 같다.
function solution(n) {
let array = [];
let answer = 0;
let n_string = n.toString().split("");
array = n_string;
n_string = array.sort((a, b) => b - a);
answer = n_string.join("");
// return Number(answer);
// return +(answer);
return parseInt(answer);
}
모두 숫자로 변형이 가능한 형태이다.
그렇다 이것을 숫자로 변형하는 방법을 처음에는 알지 못했다.
아니 애초에 숫자로 변형을 시켜야하는지도 인지하지 못했다..
console.log(answer); 를 찍어봤을때 문자열이 아닌 숫자의 형태로 보였기 때문에 무엇이 잘못된것인지 처음엔 알지 못했었다.
때문에 , 이것 저것 코드도 바꿔보고를 한참을 한뒤에 아 문자열인가? 라는 생각이 들었다..

이렇게 보면 엥? 딱봐도 문자열이잖아! 싶겠지만.. 나는 그게 잘 안보였다 ㅠㅠ
덕분에 다양한 방법의 숫자화를 시키는 방식을 공부할 수 있었다.
특히, + 방식은 내가 생각해도 자바스크립트에서만 가능한 특이한 형태의 숫자로 변형 방법일것 같다.
'알고리즘' 카테고리의 다른 글
| [1일 1 알고리즘] D+6 - 배열의 평균값 (0) | 2026.02.21 |
|---|---|
| [1일 1 알고리즘] D+4 - 최빈값 구하기 (0) | 2026.02.17 |
| [1일 1 알고리즘] D+3 - 숫자 문자열과 영단어(카카오 채용 연계형 인턴쉽) (0) | 2026.02.15 |
| [1일 1 알고리즘] D+2 - 유클리드 호제법 (0) | 2026.02.14 |
| [1일 1 알고리즘] D+1 - 몫 구하기 (0) | 2026.02.12 |