๐ฑ ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๋๋์ด ๋จ์ด์ง๋ ์ซ์ ๋ฐฐ์ด ๐ฑ
๐ ๋ฌธ์ ์ค๋ช ๐
array์ ๊ฐ element ์ค divisor๋ก ๋๋์ด ๋จ์ด์ง๋ ๊ฐ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ฐฐ์ด์ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์. divisor๋ก ๋๋์ด ๋จ์ด์ง๋ element๊ฐ ํ๋๋ ์๋ค๋ฉด ๋ฐฐ์ด์ -1์ ๋ด์ ๋ฐํํ์ธ์.
๐งธ ์ ํ ์ฌํญ ๐งธ
arr์ ์์ฐ์๋ฅผ ๋ด์ ๋ฐฐ์ด์
๋๋ค.
์ ์ i, j์ ๋ํด i โ j ์ด๋ฉด arr[i] โ arr[j] ์
๋๋ค.
divisor๋ ์์ฐ์์
๋๋ค.
array๋ ๊ธธ์ด 1 ์ด์์ธ ๋ฐฐ์ด์
๋๋ค.
function solution(arr, divisor) {
let answer = [];
for(let i=0; i<arr.length; i++) {
if(arr[i] % divisor == 0) {
answer.push(arr[i]);
}
}
answer.sort(function(a, b) {
return a - b;
});
if(answer.length == 0) {
answer.push(-1);
}
return answer;
}
// sort() : ๋ฐฐ์ด์ ์์๋ฅผ ์ ์ ํ ์์น์ ์ ๋ ฌํ ํ ๊ทธ ๋ฐฐ์ด์ ๋ฐํํฉ๋๋ค. a-b์ผ ๊ฒฝ์ฐ ์ค๋ฆ์ฐจ์(์์์๋ถํฐ ์ ๋ ฌ)์ผ๋ก ์ ๋ ฌํฉ๋๋ค.
// arr = [5, 9, 7, 10] / divisor = 5์ผ ๋ [5, 10]์ ๋ฐํํฉ๋๋ค.
// arr = [3,2,6]/ divisor = 10์ผ ๋ [-1]์ ๋ฐํํฉ๋๋ค.
๐งธ ๋ฌธ์ ํ์ด ๐งธ
1. ๋ฐ๋ณต๋ฌธ์ ํตํด arr์ ๊ธธ์ด๋งํผ ๋ฐ๋ณตํฉ๋๋ค.
2. ์กฐ๊ฑด๋ฌธ์ ํตํด ๋ง์ฝ arr์ ๊ฐ ๊ฐ์ divisor๋ก ๋๋์์ ๋ ๋๋จธ์ง ์์ด ๋ฑ ๋จ์ด์ง๋ค๋ฉด answer์ ๊ทธ ๊ฐ์ ํธ์ฌํฉ๋๋ค.
3. ๊ทธ๋ฆฌ๊ณ ๋ฐ๋ณต๋ฌธ์ด ๋๋๊ฒ ๋๋ฉด ํธ์ฌ๋ ์๋ก์ด ๊ฐ๋ค์ sort๋ฉ์๋๋ฅผ ํตํด ์ค๋ฆ์ฐจ์์ผ๋ก ๋ฐฐ์ด์ ์ ๋ ฌ์ํค๋๋ก ํฉ๋๋ค.
4. ๊ทธ๋ฆฌ๊ณ ๋ง์ฝ answer์ ์๋ฌด๋ฐ ๊ฐ์ด ํธ์ฌ๋์ง ์์ ๊ฒฝ์ฐ -1์ ๋ฐํํ๋๋ก ํฉ๋๋ค.
๐งธ ๋ค๋ฅธ ์ฌ๋์ ํ์ด ๐งธ
function solution(arr, divisor) {
var answer = [];
for(x of arr){
(x % divisor == 0 ) ? answer.push(x) : null;
}
if(answer.length == 0) answer.push(-1)
return answer.sort((a,b) => a - b);
}
for of๋ฌธ๊ณผ ์กฐ๊ฑด์ผํญ์, ์กฐ๊ฑด๋ฌธ์ ์ ์ ํ๊ฒ ์ฌ์ฉํ์ฌ ์์ ํจ์ฌ ๊ฐํธํํ๋ค์...
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค1๋จ๊ณ : ๋ด์ (1) | 2022.11.21 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค1๋จ๊ณ : ์๋ ์ซ์ ๋ํ๊ธฐ (2) | 2022.11.21 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๋ฌธ์์ด ๋ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ (1) | 2022.11.18 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์ ์ ์ ๊ณฑ๊ทผ ํ๋ณ (1) | 2022.11.17 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ํ์ค๋ ์ (1) | 2022.11.16 |
๋๊ธ