[프로그래머스] Lv2. 가장 큰 수 - JavaScript

이상돈·2023년 4월 14일
0
post-thumbnail

문제분류 : 코팅테스트 연습

난이도 : Level 2

출처 : 프로그래머스 - 가장 큰 수

문제

제한사항

입출력 예시

📌 내가 생각한 풀이

numbers의 문자들을 더하지 않고 이어붙이기 위하여, 우선 numbers의 원소를 문자열로 바꾼다. 그 다음, sort를 이용하여 , 이어붙인 문자열이 큰 수대로 내림차순정렬한다. 마지막으로 답이 "00", "0000" 등 0으로만 이어진 문자열일 경우 0을 리턴해주고 아닌 경우, 그대로 join 하여 리턴한다.
function solution(numbers) {
    var answer = '';
    //문자열을 이어붙히기 위하여, 정수를 문자열로 바꾸자!
    numbers = numbers.map((d)=>d.toString());
    //a = "6", b ="10"일경우 "610" - "106"이다.
    numbers.sort((a,b)=>(b+a)-(a+b));
    if(numbers.join('') * 1 === 0){
        return "0"
    }else{
        return numbers.join('')    
    }
}

📌 느낀점

  1. "숫자" - "숫자" = 숫자
  2. 문자열끼리 이어붙힌다음 sort가 된다.
profile
사람들의 더 나은 삶을 위한 개발자

0개의 댓글