프로그래머스 - 가장 큰 수

front_pica·2021년 4월 23일
0
post-thumbnail

문제

풀이과정

  1. map을통해 각 요소를 문자열로 변환한다.
  2. sort((a,b) => (b+a) - (a+b))를 하게 되면 문자열 끼리 합쳐서
    ex) '303' '330' 이렇게 비교해서 양수면 자리 그대로 음수면 자리 체인지를 해 줘서 판단한다.
  3. 0번째가 0이면 시작하면 문자열 0으로 반환 예외처리

코드

function solution(numbers) {
  const answer = numbers.map(c=> c + '').sort((a,b) => {
    return (b+a)-(a+b)
  }).join('');

  return answer[0]==='0'? '0' : answer;
}

solution([3,30,34,5,9]);
profile
한걸음씩

0개의 댓글