๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ
๋ฌธ์์ด๋ก ๊ตฌ์ฑ๋ ๋ฆฌ์คํธ strings์, ์ ์ n์ด ์ฃผ์ด์ก์ ๋, ๊ฐ ๋ฌธ์์ด์ ์ธ๋ฑ์ค n๋ฒ์งธ ๊ธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๋ ค ํฉ๋๋ค. ์๋ฅผ ๋ค์ด strings๊ฐ ["sun", "bed", "car"]์ด๊ณ n์ด 1์ด๋ฉด ๊ฐ ๋จ์ด์ ์ธ๋ฑ์ค 1์ ๋ฌธ์ "u", "e", "a"๋ก strings๋ฅผ ์ ๋ ฌํฉ๋๋ค.
์ ํ ์กฐ๊ฑด
* strings๋ ๊ธธ์ด 1 ์ด์, 50์ดํ์ธ ๋ฐฐ์ด์
๋๋ค.
* strings์ ์์๋ ์๋ฌธ์ ์ํ๋ฒณ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
* strings์ ์์๋ ๊ธธ์ด 1 ์ด์, 100์ดํ์ธ ๋ฌธ์์ด์
๋๋ค.
* ๋ชจ๋ strings์ ์์์ ๊ธธ์ด๋ n๋ณด๋ค ํฝ๋๋ค.
* ์ธ๋ฑ์ค 1์ ๋ฌธ์๊ฐ ๊ฐ์ ๋ฌธ์์ด์ด ์ฌ๋ฟ ์ผ ๊ฒฝ์ฐ, ์ฌ์ ์์ผ๋ก ์์ ๋ฌธ์์ด์ด ์์ชฝ์ ์์นํฉ๋๋ค.
์ ์ถ๋ ฅ ์
์
์ถ๋ ฅ ์ 1
"sun", "bed", "car"์ 1๋ฒ์งธ ์ธ๋ฑ์ค ๊ฐ์ ๊ฐ๊ฐ "u", "e", "a" ์
๋๋ค. ์ด๋ฅผ ๊ธฐ์ค์ผ๋ก strings๋ฅผ ์ ๋ ฌํ๋ฉด ["car", "bed", "sun"] ์
๋๋ค.
์
์ถ๋ ฅ ์ 2
"abce"์ "abcd", "cdx"์ 2๋ฒ์งธ ์ธ๋ฑ์ค ๊ฐ์ "c", "c", "x"์
๋๋ค. ๋ฐ๋ผ์ ์ ๋ ฌ ํ์๋ "cdx"๊ฐ ๊ฐ์ฅ ๋ค์ ์์นํฉ๋๋ค. "abce"์ "abcd"๋ ์ฌ์ ์์ผ๋ก ์ ๋ ฌํ๋ฉด "abcd"๊ฐ ์ฐ์ ํ๋ฏ๋ก, ๋ต์ ["abcd", "abce", "cdx"] ์
๋๋ค.
strings | n | return |
---|---|---|
["sun", "bed", "car"] | 1 | ["car", "bed", "sun"] |
["abce", "abcd", "cdx"] | 2 | ["abcd", "abce", "cdx"] |
๋ฌธ์ ํ์ด
strings.sort ์์ if๋ฌธ์ผ๋ก chr1๊ณผ chr2๊ฐ ๊ฐ์ ๊ฒฝ์ฐ (a > b) - (a < b);์์๋ก ์ ๋ ฌ(๋ฆฌํด)ํ๋๋ก ์คํฌ๋ฆฝํธ๋ฅผ ์ง๊ณ , ์๋ ๊ฒฝ์ฐ์๋ (chr1 > chr2) - (chr1 < chr2);์์๋ก ์ ๋ ฌ(๋ฆฌํด)ํ๋๋ก ์คํฌ๋ฆฝํธ๋ฅผ ์ง ๋ค.
function solution(strings, n) {
return strings.sort((a, b) => {
const chr1 = a.charAt(n);
const chr2 = b.charAt(n);
if (chr1 == chr2) {
return (a > b) - (a < b);
} else {
return (chr1 > chr2) - (chr1 < chr2);
}
})
}
๋ค๋ฅธ ํ์ด ๋ฐฉ์
localeCompare๋ฅผ ์ด์ฉํ์ฌ ํ ์ค๋ก ํธ๋ ๋ฐฉ๋ฒ๋ ์๋ค.
function solution(strings, n) {
// strings ๋ฐฐ์ด
// n ๋ฒ์งธ ๋ฌธ์์ด ๋น๊ต
return strings.sort((s1, s2) => s1[n] === s2[n] ? s1.localeCompare(s2) : s1[n].localeCompare(s2[n]));
}
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : ์ผ์ด์ฌ (1) | 2022.12.01 |
---|---|
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : 2016๋ (1) | 2022.11.30 |
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : ์์ ์ํธ (2) | 2022.11.28 |
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : ์์ฐ (1) | 2022.11.28 |
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค Lv.1 : 3์ง๋ฒ ๋ค์ง๊ธฐ (1) | 2022.11.28 |
๋๊ธ