๋ฌธ์ ์ค๋ช
ํจ์ solution์ ์ ์ n์ ๋งค๊ฐ๋ณ์๋ก ์ ๋ ฅ๋ฐ์ต๋๋ค. n์ ๊ฐ ์๋ฆฟ์๋ฅผ ํฐ ๊ฒ๋ถํฐ ์์ ์์ผ๋ก ์ ๋ ฌํ ์๋ก์ด ์ ์๋ฅผ ๋ฆฌํดํด์ฃผ์ธ์. ์๋ฅผ ๋ค์ด n์ด 118372๋ฉด 873211์ ๋ฆฌํดํ๋ฉด ๋ฉ๋๋ค.
์ ํ ์กฐ๊ฑด
- n์ 1 ์ด์ 8000000000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
์ ์ถ๋ ฅ ์
n | return |
118372 | 873211 |
< ๋์ ํ์ด >
function solution(n){
// 1. ์ ์ n์ ๋ฌธ์์ด๋ก ๋ณํ 118372 -> '118372'
let str = n.toString();
// 2. ๋ฌธ์์ด์ ๋ฐฐ์ด๋ก ๋ณํํ์ฌ ๊ฐ ์๋ฆฟ์๋ฅผ ๋ถ๋ฆฌ '118372' -> ['1','1','8','3','7','2']
let arr = str.split('');
// 3. ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ ['8','7','3','2','1','1']
arr.sort((a,b) => b - a);
// 4. ๋ฐฐ์ด์ ๋ค์ ๋ฌธ์์ด๋ก ๊ฒฐํฉ '873211'
let sortedStr = arr.join('');
// 5. ๋ฌธ์์ด์ ์ ์๋ก ๋ณํํ์ฌ ๋ฐํ 873211
return parseInt(sortedStr,10);
}
//console.log(solution(118372));
// 3. ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ ['8','7','3','2','1','1']
arr.sort((a,b) => b - a);
์ด๊ธฐ ๋ฐฐ์ด ['1','1','8','3','7','2']
๋ฆฌํด๊ฐ์ด 0๋ณด๋ค ์์ ๊ฒฝ์ฐ, a๊ฐ b๋ณด๋ค ์์ ์ค๋๋ก ์ ๋ ฌ
๋ฆฌํด๊ฐ์ด 0๋ณด๋ค ํด ๊ฒฝ์ฐ, b๊ฐ a๋ณด๋ค ์์ ์ค๋๋ก ์ ๋ ฌ
๋ฆฌํด๊ฐ์ด 0์ผ ๊ฒฝ์ฐ, a์ b์ ์์๋ฅผ ๋ณ๊ฒฝํ์ง ์๋๋ค.
[ ์ถ๊ฐ ํ์ต ]
์๋ฐ์คํฌ๋ฆฝํธ ๋ด๋ถ์์ ์ ๋ ฌ์ ๋์์ฃผ๋ sort ๋ฉ์๋ : ๋ฐฐ์ด์ ์์๋ค์ ์ ๋ ฌํ ๋ ์ฌ์ฉํ๋ค
๊ธฐ๋ณธ ์ ๋ ฌ ์์๋ ๋ฌธ์์ด์ ์ ๋์ฝ๋ ์ฝ๋ ํฌ์ธํธ๋ฅผ ๋ฐ๋ฅธ๋ค.
const arr1 = [5,7,3,2,8];
arr1.sort();
console.log(arr1); // [2,3,5,7,8]
์ซ์ ํ์ ์ ๋ ฌ ์ ์ ์ํ ์ - ์ซ์๊ฐ ๋ ์๋ฆฟ์๊ฐ ๋์ด๊ฐ๋ฉด ์๋์น ์์ ๊ฒฐ๊ณผ๊ฐ ๋์จ๋ค.
const arr2 = [1, 43, 28, 30, 7, 9, 12];
arr2.sort();
console.log(arr2); // [1, 12, 28, 30, 43, 7, 9]
๋ ์๋ฆฟ์ ์ด์์ ์ซ์๊ฐ ํฌํจ๋์ด ์๋ ๋ฐฐ์ด์ ์ ๋ ฌํ ๋๋ ๋ฐ๋์ sort() ๋ด๋ถ์์ ํจ์๋ฅผ ์ฌ์ฉํด ์ ๋ ฌํด์ค์ผ ํ๋ค.
const arr3 = [1, 43, 28, 30, 7, 9, 12];
arr3.sort((a,b) => a - b); // ์ค๋ฆ์ฐจ์์ ๋ ฌ
console.log(arr3); // [1, 7, 9, 12, 28, 30, 43]
const arr4 = [1, 43, 28, 30, 7, 9, 12];
arr4.sort((a,b) => b - a); // ๋ด๋ฆผ์ฐจ์์ ๋ ฌ
console.log(arr4); // [43, 30, 28, 12, 9, 7, 1]
< ๋ค๋ฅธ ์ฌ๋์ ํ์ด >
function solution(n) {
const newN = n + ""; // ๋ฌธ์์ด๋ก ๋ณํ 118372 -> '118372'
const newArr = newN
.split("") // ๋ฐฐ์ด๋ก ๋ถ๋ฆฌ ['1','1','8','3','7','2']
.sort() // ์ ๋์ฝ๋ ์ ๋ ฌ์ ์ซ์ ํฌ๊ธฐ ์์๊ฐ ์๋๋ผ ๋ฌธ์์ด ์์๋ก ์ ๋ ฌ ['1','1','2','3','7','8']
.reverse() // ๋ฐฐ์ด์ ์์ ์์ ๋ค์ง๊ธฐ ['8','7','3','2','1','1']
.join(""); // ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๊ฒฐํฉ '873211'
return +newArr; // ๋ฌธ์์ด์ ์ซ์ ํ์์ผ๋ก ๋ณํ 873211
}
1. ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ณํ
2. ๋ฌธ์์ด์ ๋ฐฐ์ด๋ก ๋ถ๋ฆฌ
3. ์ค๋ฆ์ฐจ์์ ๋ ฌํ๊ธฐ
4. ๋ฐฐ์ด์ ์์๋ฅผ ๋ฐ์ ( ๋ด๋ฆผ์ฐจ์์ ๋ ฌ )
5. ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๊ฒฐํฉ
6. ๋ฌธ์์ด์ ์ซ์๋ก ๋ณํ
'์๊ณ ๋ฆฌ์ฆ > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lv.1 ์ด์ํ ๋ฌธ์ ๋ง๋ค๊ธฐ (0) | 2024.07.21 |
---|---|
Lv.1 ์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (2) | 2024.07.14 |
Lv.1 ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ ๋ฌธ์์ด (0) | 2024.07.10 |
Lv.1 ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ์ ๊ธ์ (0) | 2024.07.07 |
Lv.1 x๋งํผ ๊ฐ๊ฒฉ์ด ์๋ n๊ฐ์ ์ซ์ (0) | 2024.07.03 |