42746最大数量


😄 問題の説明


Description
0または正の整数を指定すると、最大の整数を見つけます.
例えば、与えられた整数が[6,10,2]である場合、最大数が6210である[610261010621026102106]を作成することができる.
パラメータに指定された配列番号が0または正の整数の場合、作成可能な最大番号を文字列に変換して戻すソリューション関数を作成します.
せいげんじょうけん
  • numbersの長さは100000より大きい.
  • numbersの要素は1000を超えません.
  • 答えが大きすぎるかもしれませんが、文字列を変えて返してください.
  • I/O例
    numbersreturn[6, 10, 2]"6210"[3, 30, 34, 5, 9]"9534330"
    ソース:https://programmers.co.kr/learn/courses/30/lessons/42746

    💻 Javascriptコード

    function solution(numbers) {
      let answer = "";
      let sum = 0;
      numbers.forEach((item) => {
        sum += item;
      });
      if (sum === 0) {
        answer = 0+"";
      }else {
      numbers.sort((a, b) => {
        let str_a = a + "";
        let str_b = b + "";
    
        if (str_a + str_b > str_b + str_a) {
          return -1;
        } else if (str_a + str_b < str_b + str_a) {
          return 1;
        } else {
          return 0;
        }
      });
    
      numbers.forEach((item) => {
        answer += item + "";
      });}
      
      return answer;
    }