๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Programmers

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 1๋‹จ๊ณ„ : ๋ฌธ์ž์—ด ๋‚ด ๋งˆ์Œ๋Œ€๋กœ ์ •๋ ฌํ•˜๊ธฐ

by ์ฝ”ํŒŒ์นด 2022. 11. 24.
728x90

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 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() ์•ˆ์—์„œ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•ด ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ์ €๋ ‡๊ฒŒ ํ•˜๋ ค๊ณ  ํ•ด๋„ ์•ˆ ๋˜๋˜๋ฐ์š”. ๋” ๋…ธ๋ ฅํ•ด์•ผ๊ฒ ์Šต๋‹ˆ๋‹ค.

728x90

๋Œ“๊ธ€

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๐Ÿฆ™

CSS
๊ด‘๊ณ  ์ค€๋น„์ค‘