https://programmers.co.kr/learn/courses/30/lessons/42746
Refer to someone's...
function solution(numbers) {
var answer = numbers.map(c=> c.toString()).
sort((a,b) => (b+a) - (a+b)).join('');
return answer[0]==='0'? '0' : answer;
}
My...
// 조건
// 맨앞 0 안됨
// 각 숫자의 첫글자가 가장 큰 수가 맨 앞
// 첫글자가 같으면 그 다음글자 순으로 비교
// 자리수가 다른 경우 (없는 수는 바로 앞글자와 동일하다고 판단하기)
// => 결국 자리수로 정렬하는 방법찾기!!=> 기수정렬(radix sort) => queue로 해결
// var queue = [[0],[0],[0],[0],[0],[0],[0],[0],[0],[0]];
// queue에 넣기
var queue = [[],[],[],[],[],[],[],[],[],[]];
for(var i=0; i<numbers.length; i++){
var converted = numbers[i].toString();
var index = parseInt(converted[0])-1;
queue[index].push(numbers[i]);
}
// 여러개 있는 경우 다음 자리수로 다시 정렬 ->??
for(var j=0; j<numbers.length; j++){
if(queue[j].length >1)
}
처음에 그냥 sort함수로 풀려다가 이론 찾아보고(기수정렬) 오히려 복잡하게 풀기 시작...
쉬운방식으로 접근하자! -> 정렬=> 전체가 아니라 부분으로 접근해보기
정렬 - array.sort() method의 활용
#정렬
#Queue
#Radix sort(기수정렬)