본문 바로가기

프로그래머스/정렬

[정렬] 프로그래머스 '가장 큰 수' - js

반응형

1. 문제

https://school.programmers.co.kr/learn/courses/30/lessons/42746#qna

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

2. 코드

정렬 시 조건이 양수이면 순서를 그대로 유지하고 음수이면 순서가 변환된다는 것과 a가 뒷 요소, b가 앞 요소라는 것을 잊지말자.

function solution(numbers) {
    // 모든 요소들을 string으로 바꿔준다.
    // 문자열을 그대로 연결한 수(a+b) - 바꿔 연결한 수(b+a)가 양수이면 순서를 그대로 유지한다.
    let temp = numbers.map((a) => String(a)).sort((a, b) => (b + a) - (a + b));

    // 모든 숫자가 0인 경우 000...처럼 나오지 않게 0을 출력한다.
    return temp[0] === '0' ? '0' : temp.join('');
}
반응형