https://school.programmers.co.kr/learn/courses/30/lessons/12910?language=javascript
*
์ฐธ๊ณ ๋ก ๋ฐฐ์ด ์์๊ฐ์ 0์ธ์ง (๋น ๋ฐฐ์ด์ธ์ง) ์ฒดํฌ ํ ๋,
arr === (ํน์ ==) [ ]
์ด๋ฐ ์์ผ๋ก ์ฐ๋ฉด ์๋๋ค !
arr.length == 0 ๊ณผ ๊ฐ์ด ๋ฐฐ์ด ์์๊ฐ์๋ฅผ ์๋ ค์ฃผ๋ .length ๋ฅผ ์จ์ผ ํ๋ค
*
๊ทธ๋ฅ .sort( ) ์ฐ๋ฉด, ์ซ์๋ ASCII ๋ฌธ์ ์์๋๋ก (๋ฌธ์์ฒ๋ผ) ๋ฐฐ์ด๋์ด, ๋งจ ์์๋ฆฌ ์ ์ฐ์ ์ผ๋ก ๋ฐฐ์ด๋๋
(์ค๋ฆ์ฐจ์ 5, 10 ์ด ์๋๋ผ => 10, 5 ๋ก ๋ฐฐ์ด๋จ * ์์๋ฆฌ 1 < 5 ์ด๊ธฐ ๋๋ฌธ)
sort ( ) ์์ compareFunction์ ์จ์ค์ผ ํจ
sort((a, b => a -b) ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ (๋ฐ๋๋ก b - a ๋ ๋ด๋ฆผ์ฐจ์)
-----------
sort((a, b => a -b)
๋ ์์๋ฅผ a, b๋ก์ ์ ๋ฌํด์ a - b๋ก ํฌ๊ธฐ๋ฅผ ๋น๊ตํ ํ์
a > b์ด๋ฉด ์์, a < b์ด๋ฉด ์์๋ฅผ ๋ฆฌํด => ์ฃผ์ด์ง ๋ฐฐ์ด์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ.
๋ด ๋ต์ ์ฝ๋
function solution(arr, divisor) {
const dividedArr = arr.filter(e => e % divisor === 0).sort((a, b) => a-b);
if (dividedArr.length == 0) {
dividedArr.push(-1);
}
return dividedArr;
}
์ฒ์์ ์ ์ฒ๋ผ ์ฝ๋ ์์ฑํ๋ค๊ฐ, ์ผํญ์ฐ์ฐ์๋ฅผ ์จ์ ๋ฐ๋ก return ํ๋ ์์ผ๋ก ์ค์ฌ๋ดค๋ค.
function solution(arr, divisor) {
const dividedArr = arr.filter(e => e % divisor === 0).sort((a, b) => a-b);
return dividedArr.length == 0 ? [-1] : dividedArr ;
}