๐ฉ๐ปโ๐ป๋ฌธ์ ๋งํฌ
๋ฌธ์ ์ค๋ช
array์ ๊ฐ element ์ค divisor๋ก ๋๋์ด ๋จ์ด์ง๋ ๊ฐ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ฐฐ์ด์ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์.
divisor๋ก ๋๋์ด ๋จ์ด์ง๋ element๊ฐ ํ๋๋ ์๋ค๋ฉด ๋ฐฐ์ด์ -1์ ๋ด์ ๋ฐํํ์ธ์.
์ ํ์ฌํญ
arr์ ์์ฐ์๋ฅผ ๋ด์ ๋ฐฐ์ด์
๋๋ค.
์ ์ i, j์ ๋ํด i โ j ์ด๋ฉด arr[i] โ arr[j] ์
๋๋ค.
divisor๋ ์์ฐ์์
๋๋ค.
array๋ ๊ธธ์ด 1 ์ด์์ธ ๋ฐฐ์ด์
๋๋ค.
์
์ถ๋ ฅ ์
arr divisor return
[5, 9, 7, 10] 5 [5, 10]
[2, 36, 1, 3] 1 [1, 2, 3, 36]
[3,2,6] 10 [-1]
์
์ถ๋ ฅ ์ ์ค๋ช
์
์ถ๋ ฅ ์#1
arr์ ์์ ์ค 5๋ก ๋๋์ด ๋จ์ด์ง๋ ์์๋ 5์ 10์
๋๋ค. ๋ฐ๋ผ์ [5, 10]์ ๋ฆฌํดํฉ๋๋ค.
์
์ถ๋ ฅ ์#2
arr์ ๋ชจ๋ ์์๋ 1์ผ๋ก ๋๋์ด ๋จ์ด์ง๋๋ค. ์์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํด [1, 2, 3, 36]์ ๋ฆฌํดํฉ๋๋ค.
์
์ถ๋ ฅ ์#3
3, 2, 6์ 10์ผ๋ก ๋๋์ด ๋จ์ด์ง์ง ์์ต๋๋ค. ๋๋์ด ๋จ์ด์ง๋ ์์๊ฐ ์์ผ๋ฏ๋ก [-1]์ ๋ฆฌํดํฉ๋๋ค.
โ๏ธIdea Sketch
2021-06-17
- ๋๋์ด๋จ์ด์ง๋ ๊ฐ์ ๋ชจ์๋ค
let res = arr.map((v, i) => {
if (v%divisor === 0) return v
})
๋ฌธ์ ์
๋ฐฐ์ด res์ ์์ undefined๊ฐ ์ถ๊ฐ๋๋ค. --> ํด๊ฒฐ : res.push(v) ์ฌ์ฉ
console.log(res) // [ 5, 10, undefined, undefined]
- arr.sort() ์ ๋ ฌํ๋ค
res.sort((a, b) => a-b)
- ์ผํญ์ฐ์ฐ์๋ก '๋๋์ด ๋จ์ด์ง๋ element๊ฐ ํ๋๋ ์๋ ๊ฒฝ์ฐ' ์ฒ๋ฆฌ --> result [-1]
โ๏ธ์์ค์ฝ๋
2021-06-17 ์ ํ์ฑ ์ฑ๊ณต
function solution(arr, divisor) {
let res = [];
arr.map((v, i) => {
if (v%divisor === 0) res.push(v)
})
return res.length ? res.sort((a, b) => a-b) : [-1];
}
โ๏ธ๋ช ๋ต
filter ์ฌ์ฉํ๊ธฐ
filter๊ฐ ๋ ์ง๊ด์ ์ด๋ค.
function solution(arr, divisor) {
var answer = arr.filter(v => v%divisor == 0);
return answer.length == 0 ? [-1] : answer.sort((a,b) => a-b);
}