๐ ๋ฌธ์
- ๋ฌธ์์ด๋ก ๊ตฌ์ฑ๋ ๋ฆฌ์คํธ strings์, ์ ์ n์ด ์ฃผ์ด์ก์๋, ๊ฐ ๋ฌธ์์ด์ ์ธ๋ฑ์ค n๋ฒ์งธ ๊ธ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ฆฌ
- ํด๋น ์ธ๋ฑ์ค ๊ฐ์ด ์ฌ๋ฟ์ผ ๊ฒฝ์ฐ ์ฌ์ ์์ผ๋ก ์์ ๋ฌธ์์ด์ด ์์ชฝ์ผ๋ก ์์นํ๋ค.
โจ๏ธ ์ ์ถ๋ ฅ ์์
strings | n | return |
['sun', 'bed', 'car'] | 1 | ['car', 'bed', 'sun'] |
['abce', 'abcd', 'cdx'] | 2 | ['abcd', 'abce', 'cdx'] |
๐โ๏ธ ๋ด๊ฐ ํผ ๋ฐฉ์
1. ์ธ๋ฑ์ค n์ ํด๋น๋๋ ๋ฐฐ์ด์ ๊ฐ ์ถ์ถํ๋ค.
2. ํด๋น ๊ฐ๋ค์ ๋ฌธ์์ด ์์ ๋ถ์ฌ์ค๋ค.
3. ์ฌ์ ์์ผ๋ก ์ ๋ ฌ .sort()
4. ์๊ธ์ ๋ผ๊ธฐ
// ์ต์ข
๋ฆฌํด ๊ฐ
let answer = [];
// ํด๋น ๊ฐ๋ค์ ๋ฌธ์์ด ์์ ๋ถ์ฌ์ค ๊ฐ๋ค์ ๋ฐฐ์ด.
let newStrArr = [];
function sortFunc(strArr, n) {
strArr.forEach((str) => {
// 1. ์ธ๋ฑ์ค n์ ํด๋น๋๋ ๋ฐฐ์ด์ ๊ฐ ์ถ์ถํ๋ค. str[n]
// 2. ํด๋น ๊ฐ๋ค์ ๋ฌธ์์ด ์์ ๋ถ์ฌ์ค๋ค.
// str -> sun, bed, car
// str[1] -> u, e, a
// str = str[n] + str -> 'usun', 'ebed', 'acar'
str = str[n] + str;
// ํฉ์น ๊ฐ๋ค์ ์๋ก์ด ๋ฐฐ์ด์ ๋ฃ์ด์ค
newStrArr.push(str);
// 3. ์ฌ์ ์์ผ๋ก ์ ๋ ฌ .sort()
newStrArr.sort();
});
// 4. ์๊ธ์ ๋ผ๊ธฐ
// ๋ฌธ์์ด ์์ ๋ถ์ฌ์ค ๊ฐ๋ค์๊ฒ ์ ๊ทผ
newStrArr.forEach((nStr) => {
// ์๊ธ์ ๋ ๊ฐ๋ค์ ๋ฐํ ์์ผ์ค answer ๋ฐฐ์ด์ ๋ฃ์ด์ค
answer.push(nStr.substr(1));
});
console.log(answer);
return answer;
}