文字列降順で配置


プログラマ


https://programmers.co.kr/learn/courses/30/lessons/12917

私の答え


入力されたs(文字列)を複文で1文字ずつ並べ、sort()と入力します.その結果、文字列は昇順、reverse()降順、join('')で1つの文字列を返します.
function solution(s){
  const arr = [];
  for(let i=0;i<s.length;i++){
    arr.push(s[i]);
  }
  return arr.sort().reverse().join("");
}

他人を解く


複文では,配列に字を付けるのではなく,split("")を用いてより簡単に表現する.
function solution(s){
  return s.split("").sort().reverse().join("");
}

sort([compareFunction])


パラメータとしての比較関数を省略すると、配列内の要素は文字列として扱われ、Unicode値の順に並べ替えられます.s.split("").sort()の結果はUnicode値の順にソートされ、小文字の値は大文字より大きく、昇順にソートされます.
文字列や配列に関する方法は知っていますが、問題を解くときに思いもよらず繰り返し書きます.コードをより簡潔に記述するためには,これらの方法を適切に使用する練習を行うべきである.

reference

  • ASCII와 UNICODE에 대한 포스팅👇https://velog.io/@kaitlin_k/%EC%BB%B4%ED%93%A8%ED%84%B0%EA%B0%80-%EC%A0%95%EB%B3%B4%EB%A5%BC-%EC%B2%98%EB%A6%AC%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95