ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ
์ฝ๋ฉํ ์คํธ ์ฐ์ต > ์ฐ์ต๋ฌธ์ > ๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ
๐ฉ ๋ฌธ์ ์ค๋ช
๋ฌธ์์ด๋ก ๊ตฌ์ฑ๋ ๋ฆฌ์คํธ strings์, ์ ์ n์ด ์ฃผ์ด์ก์ ๋, ๊ฐ ๋ฌธ์์ด์ ์ธ๋ฑ์ค n๋ฒ์งธ ๊ธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ๋ ค ํฉ๋๋ค. ์๋ฅผ ๋ค์ด strings๊ฐ ["sun", "bed", "car"]์ด๊ณ n์ด 1์ด๋ฉด ๊ฐ ๋จ์ด์ ์ธ๋ฑ์ค 1์ ๋ฌธ์ "u", "e", "a"๋ก strings๋ฅผ ์ ๋ ฌํฉ๋๋ค.
๐ฉ ์ ํ ์กฐ๊ฑด
โ๏ธ strings๋ ๊ธธ์ด 1 ์ด์, 50์ดํ์ธ ๋ฐฐ์ด์
๋๋ค.
โ strings์ ์์๋ ์๋ฌธ์ ์ํ๋ฒณ์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
๐ strings์ ์์๋ ๊ธธ์ด 1 ์ด์, 100์ดํ์ธ ๋ฌธ์์ด์
๋๋ค.
๐ค ๋ชจ๋ strings์ ์์์ ๊ธธ์ด๋ n๋ณด๋ค ํฝ๋๋ค.
โ ์ธ๋ฑ์ค 1์ ๋ฌธ์๊ฐ ๊ฐ์ ๋ฌธ์์ด์ด ์ฌ๋ฟ ์ผ ๊ฒฝ์ฐ, ์ฌ์ ์์ผ๋ก ์์ ๋ฌธ์์ด์ด ์์ชฝ์ ์์นํฉ๋๋ค.
๐ฉ ๋ฌธ์ ํ์ด
function solution(strings, n) {
answer = strings.map((e, i) => e).sort((a, b) => {
x = a[n];
y = b[n];
if(x == y) {
return a.localeCompare(b);
}
return x.localeCompare(y);
})
return answer;
}
๋ณ ์ง์ ๋ค ํด ๋ดค๋๋ฐ ๊ฒฐ๊ตญ ํด๋ด์ ๊ธฐ์ฉ๋๋ค. ๋งจ๋ ๋ฉ์ฒญํ๊ฒ for๋ฌธ๋ง ์ฐ๋ค๊ฐ ์ด์ ์ผ map()์ ์ ๋๋ก ์ฌ์ฉํ ์ค ์๊ฒ ๋์๋๋ฐ, map()์ด ๋๋ผ๋ค์. sort() ์์ ๋ณ์๋ฅผ ์ ์ธํ์ฌ n๋ฒ์งธ ์ธ๋ฑ์ค์ ํด๋นํ๋ ๊ฐ์ ๋ถ๋ฌ๋ด๊ณ , ๊ฐ์ ๊ฒฝ์ฐ์๋ ์ฌ์ ์์ผ๋ก ๋ฐฐ์นํ๋๋ก ์์ ํด ์ฃผ์์ต๋๋ค.
๐ฉ ๋ค๋ฅธ ํ์ด
function solution(strings, n) {
// strings ๋ฐฐ์ด
// n ๋ฒ์งธ ๋ฌธ์์ด ๋น๊ต
return strings.sort((s1, s2) => s1[n] === s2[n] ? s1.localeCompare(s2) : s1[n].localeCompare(s2[n]));
}
sort() ์์์ ์ผํญ์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํด ์ฃผ์์ต๋๋ค. ์ ๋ ์ ๋ ๊ฒ ํ๋ ค๊ณ ํด๋ ์ ๋๋๋ฐ์. ๋ ๋ ธ๋ ฅํด์ผ๊ฒ ์ต๋๋ค.
'Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๋ชจ์๊ณ ์ฌ (3) | 2022.11.24 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์ฝ๋ผ ๋ฌธ์ (1) | 2022.11.24 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์ฝ๋ผ์ธ ์ถ์ธก (1) | 2022.11.23 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ (2) | 2022.11.22 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : K๋ฒ์งธ์ (2) | 2022.11.21 |
๋๊ธ