[프로그래머스] 가장 큰 수 javascript

김_리트리버·2020년 9월 7일
0

[알고리즘]

목록 보기
13/47
function solution(numbers) {
  let answer = ''

  answer = numbers
    .sort((a, b) => {
      let stra = String(a)
      let strb = String(b)

      //         내림차순정렬
      //     ex> [6, 10, 2]
      // 인접한 요소를 문자열로 합쳐서 나온 숫자가 
      //         큰수가 나오도록 배열의 순서를 변경시킨다. 
      //
      /* 
        a = 10, b = 6
        106 VS 610 => 610 이 큼 return 1 => 그대로 
        [6, 10, 2]

        a=2 b=10
        210 VS 102 => return -1 => 2가 앞으로 가고 10 을 뒤로 보냄 
         [6, 2, 10]
     
      */

      if (Number(stra + strb) > Number(strb + stra)) {
        return -1
      } else {
        return 1
      }
    })
    .join('')

  // 첫번째 자리가 0이면 0리턴한다.
  if (answer[0] === '0') return '0'

  return answer
}
profile
web-developer

0개의 댓글