[lv2] 가장 큰 수

걸음걸음·2023년 3월 28일
0

Test

목록 보기
25/29

문제링크

  • 0 또는 양의 정수가 담긴 배열 numbers
  • numbers의 요소를 이어 붙여 만들 수 있는 가장 큰 수 return
function solution(numbers) {
    // 앞자리가 큰 순서대로 정렬 한 후 붙이기
  	// 문자열로 바꾼 후 크기 비교
    const stringNum = numbers.map((ele)=>`${ele}`).sort((a,b) => (b+a) - (a+b)).join('')
    return stringNum[0] === '0' ? '0' : stringNum;
}

numbers가 [0,0,0,0]일 경우에는 '0'을 반환해야하기 때문에 마지막 조건식 추가

다른 사람의 풀이

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

map을 사용하여 문자열로 다시 만드는 부분을 생략하고 sort에서 해당 과정을 실행, 더 간략한 식이 되었다

profile
꾸준히 나아가는 개발자입니다.

0개의 댓글