프로그래머스 가장 큰 수 JavaScript

문제링크
맨날 C++로만 풀다가 JS로 시작해봤는데.. 신세계다..

function solution(numbers) {
    var answer = numbers.sort((a,b)=>{
        return (String(b)+String(a))-(String(a)+String(b))
    }).join('')
    return answer[0]=='0'?'0':answer;
}

정렬을 하는 조건 :
a가 3 이고 b 가 30 으로 예시를 들었을 때, ab 는 330 ba는 303이다.
이 조건은 첫 번째 return 문과 같은데 문자열로 변환 후, 두 수를 붙여서 나온 숫자로 계산을 한다. ba가 더 크다면 양을 ab가 더 크면 음을 리턴한다.
두 번째 리턴문은 문제 조건에서 숫자가 0일 수도 있다고 한 경우를 제외한 것이다.

이 문제에서 처음으로 join 함수를 알게 되었다.

sort 자료

join 자료

다른분들은 map() 함수도 사용하여서 공부를 위해 따로 기록해둔다.

map() 자료

좋은 웹페이지 즐겨찾기