/*
๋ฌธ์ œ ์„ค๋ช…
๋ฌธ์ž์—ด๋กœ ๊ตฌ์„ฑ๋œ ๋ฆฌ์ŠคํŠธ strings์™€, ์ •์ˆ˜ n์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ ๋ฌธ์ž์—ด์˜ ์ธ๋ฑ์Šค n๋ฒˆ์งธ ๊ธ€์ž๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด strings๊ฐ€ ["sun", "bed", "car"]์ด๊ณ  n์ด 1์ด๋ฉด ๊ฐ ๋‹จ์–ด์˜ ์ธ๋ฑ์Šค 1์˜ ๋ฌธ์ž "u", "e", "a"๋กœ strings๋ฅผ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.

์ œํ•œ ์กฐ๊ฑด
strings๋Š” ๊ธธ์ด 1 ์ด์ƒ, 50์ดํ•˜์ธ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.
strings์˜ ์›์†Œ๋Š” ์†Œ๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
strings์˜ ์›์†Œ๋Š” ๊ธธ์ด 1 ์ด์ƒ, 100์ดํ•˜์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.
๋ชจ๋“  strings์˜ ์›์†Œ์˜ ๊ธธ์ด๋Š” n๋ณด๋‹ค ํฝ๋‹ˆ๋‹ค.
์ธ๋ฑ์Šค 1์˜ ๋ฌธ์ž๊ฐ€ ๊ฐ™์€ ๋ฌธ์ž์—ด์ด ์—ฌ๋Ÿฟ ์ผ ๊ฒฝ์šฐ, ์‚ฌ์ „์ˆœ์œผ๋กœ ์•ž์„  ๋ฌธ์ž์—ด์ด ์•ž์ชฝ์— ์œ„์น˜ํ•ฉ๋‹ˆ๋‹ค.
*/

const solution = (str, n) => {
  str.sort((a, b) => {
    // sort ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด a[n]๋ฒˆ์งธ ์š”์†Œ์™€ b[n]๋ฒˆ์งธ ์š”์†Œ๋ฅผ ๋น„๊ตํ•ด
    if (a[n] > b[n]) {
      // a[n]์ด b[n] ๋ณด๋‹ค ํฌ๋‹ค๋ฉด ์ธ๋ฑ์Šค์—์„œ +1 ํ•˜์—ฌ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
      return 1;
    } else if (b[n] > a[n]) {
      // b[n]์ด a[n] ๋ณด๋‹ค ํฌ๋‹ค๋ฉด ์ธ๋ฑ์Šค์—์„œ -1 ํ•˜์—ฌ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ
      return -1;
    } else {
      // ๋‘ ๊ฒฝ์šฐ๋„ ์•„๋‹ˆ๋ผ๋ฉด ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•ด a, b ์ „์ฒด๊ฐ’์„ ๋น„๊ตํ•ด a๊ฐ€ ํฌ๋ฉด ์˜ค๋ฆ„์ฐจ์ˆœ, b๊ฐ€ ํฌ๋ฉด ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ ์‹คํ–‰
      return a > b ? 1 : -1;
    }
  });
  return str;
};

console.log(solution(['sun', 'bed', 'car'], 1));
console.log(solution(['abce', 'abcd', 'cdx'], 2));

๋งจ์ฒ˜์Œ์—๋Š” map ๋ฉ”์„œ๋“œ์— sort ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด๋ดค๋Š”๋ฐ, ์ƒ๊ฐ๋Œ€๋กœ ๋˜์ง€ ์•Š์•„ sort ๋ฉ”์„œ๋“œ์— if ๋ฌธ์„ ๋ถ™์ด๋Š”๊ฑธ๋กœ ํ•ด๊ฒฐํ–ˆ๋‹ค.

๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค!