728x90
function solution(strings, n) {
return(strings.sort((a, b) => {
if (a[n] === b[n]) {
if (a < b) return -1;
if (a > b) return 1;
if (a === b) return 0;
} else {
if (a[n] < b[n]) return -1;
if (a[n] > b[n]) return 1;
}
}))
}
sort ์ ๋ํด ์กฐ๊ธ ๋ ์ ํํ๊ฒ ๊ณต๋ถํ๊ฒ ๋ ๋ฌธ์ .
sort ์ ์ ๋ฌ๋๋ ํจ์์ return ๊ฐ์ ๋ฐ๋ผ์ ์์๊ฐ ์ ๋ ฌ๋๋ค.
๋น๊ตํ๋ ค๋ ๋ฌธ์๊ฐ ๊ฐ์ ๊ฒฝ์ฐ, ์ฌ์ ์์ผ๋ก ์์ ๋ฌธ์์ด์ ์์ชฝ์ ๋ฐฐ์นํ๊ธฐ ์ํด, a[n] === b[n] ์ ๋ฐ๋ก ๋ง๋ค์๋ค.
return strings.sort((s1, s2) => s1[n] === s2[n] ? s1.localeCompare(s2) : s1[n].localeCompare(s2[n]));
๊ทผ๋ฐ ์ด ๋ถ๋ถ๋ค์ ์๋ตํ๊ณ ์ด๋ ๊ฒ ๊ฐ๋จํ ๋ํ๋ธ ํ์ด๊ฐ ์์๋ฐ.
localCompare ์ฒ์ ๋ดค๋ค..!
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/localeCompare
localeCompare() ๋ฉ์๋๋ ์ฐธ์กฐ ๋ฌธ์์ด์ด ์ ๋ ฌ ์์ผ๋ก ์ง์ ๋ ๋ฌธ์์ด ์ ํน์ ๋ค์ ์ค๋์ง ๋๋ ๋์ผํ ๋ฌธ์์ด์ธ์ง ๋ํ๋ด๋ ์์น๋ฅผ ๋ฐํํฉ๋๋ค.
localeCompare(compareString)
localeCompare(compareString, locales)
localeCompare(compareString, locales, options)
compareStringreferenceStr๊ฐ ๋น๊ต๋๋ ๋ฌธ์์ด.locales์ options์ด๋ฌํ ์ธ์๋ ํจ์์ ๋์์ ์ฌ์ฉ์ ์ ์ํ์ฌ ์์ฉ ํ๋ก๊ทธ๋จ์์ ํฌ๋งท ๊ท์น์ ์ฌ์ฉํ ์ธ์ด๋ฅผ ์ง์ ํฉ๋๋ค. "locales"์ "options"์ ์ธ์๋ฅผ ๋ฌด์ํ๋ ๊ตฌํ์์๋ ์ฌ์ฉ๋๋ ๋ก์ผ์ผ๊ณผ ๋ฐํ๋๋ ๋ฌธ์์ด์ ํ์์ ์์ ํ ๊ตฌํ์ ์์กดํฉ๋๋ค.
referenceStr๊ฐ compareString ์ ํน์ ๋ค์ ์ค๋์ง ๋๋ ๋๋ฑํ์ง๋ฅผ ๋ํ๋ด๋ ์ ์๋ฅผ ๋ฐํํฉ๋๋ค.
compareString ์ ์ referenceStr์ด ์ค๋ฉด ์์
compareString ๋ค์ referenceStr์ด ์ค๋ฉด ์์
๋๋ฑํ ๊ฒฝ์ฐ 0 ์ ๋ฐํํฉ๋๋ค.
728x90
๋ฐ์ํ
'ํ์ ๊ณต๋ถ > ๐ซง ์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ๋ ๊ฐ ๋ฝ์์ ๋ํ๊ธฐ (2) | 2023.06.06 |
---|---|
[์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ํธ๋ ํ์ดํธ ๋ํ (0) | 2023.06.06 |
[์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] K๋ฒ์งธ์ (0) | 2023.06.05 |
[์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ์ธ๋ก ์ฝ๊ธฐ (0) | 2023.06.04 |
[์๊ณ ๋ฆฌ์ฆ || ํ๋ก๊ทธ๋๋จธ์ค] ๋ ์ง ๋น๊ตํ๊ธฐ (0) | 2023.06.03 |