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

๋ฌธ์ œ ์„ค๋ช…
๋ฌธ์ž์—ด s์— ๋‚˜ํƒ€๋‚˜๋Š” ๋ฌธ์ž๋ฅผ ํฐ๊ฒƒ๋ถ€ํ„ฐ ์ž‘์€ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด ์ƒˆ๋กœ์šด ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.
s๋Š” ์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, ๋Œ€๋ฌธ์ž๋Š” ์†Œ๋ฌธ์ž๋ณด๋‹ค ์ž‘์€ ๊ฒƒ์œผ๋กœ ๊ฐ„์ฃผํ•ฉ๋‹ˆ๋‹ค.

์ œํ•œ ์‚ฌํ•ญ
str์€ ๊ธธ์ด 1 ์ด์ƒ์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.
*/

const solution = (str) => {
  const answer = str
    // split ์—ฐ์‚ฐ์ž๋กœ ๋ฌธ์ž์—ด ๋ฐฐ์—ด๋กœ ์ชผ๊ฐ  ๋‹ค์Œ
    .split('')
    // ์ •๋ ฌ์‹œ์ž‘
    .sort((a, b) => {
      // a๊ฐ€ b๋ณด๋‹ค ํฌ๋‹ค๋ฉด ์ž‘์€ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด ๋’ค์ชฝ์œผ๋กœ ์ •๋ ฌ
      if (a > b) {
        return -1;
        // ๋’ค์— ์žˆ๋Š” b๊ฐ€ a๋ณด๋‹ค ํฌ๋‹ค๋ฉด ์•ž์œผ๋กœ ์•ž์ชฝ์œผ๋กœ ๋•ก๊ฒจ์„œ ์ž‘์€ ์ˆœ์œผ๋กœ ์ •๋ ฌ
      } else if (b > a) {
        return 1;
      }
    })
    .join('');
  return answer;
};

console.log(solution('Zbcdefg'));

/*
๋‹ค๋ฅธ ๋ถ„์˜ ๊น”๋”ํ•œ ์ฝ”๋“œ... ๊ฐ€๋…์„ฑ์ด ์•„์ฃผ ์ข‹๋‹ค
function solution(s) {
  return s
    .split("")
    .sort()
    .reverse()
    .join("");
}
*/
๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค!