Published 2022. 7. 15. 22:11
/*
https://school.programmers.co.kr/learn/courses/30/lessons/12910
array์ ๊ฐ element ์ค divisor๋ก ๋๋์ด ๋จ์ด์ง๋ ๊ฐ์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๋ฐฐ์ด์ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์.
divisor๋ก ๋๋์ด ๋จ์ด์ง๋ element๊ฐ ํ๋๋ ์๋ค๋ฉด ๋ฐฐ์ด์ -1์ ๋ด์ ๋ฐํํ์ธ์.
์ ํ์ฌํญ
arr์ ์์ฐ์๋ฅผ ๋ด์ ๋ฐฐ์ด์
๋๋ค.
์ ์ i, j์ ๋ํด i ≠ j ์ด๋ฉด arr[i] ≠ arr[j] ์
๋๋ค.
divisor๋ ์์ฐ์์
๋๋ค.
array๋ ๊ธธ์ด 1 ์ด์์ธ ๋ฐฐ์ด์
๋๋ค.
์
์ถ๋ ฅ ์ ์ค๋ช
์
์ถ๋ ฅ ์#1
arr์ ์์ ์ค 5๋ก ๋๋์ด ๋จ์ด์ง๋ ์์๋ 5์ 10์
๋๋ค. ๋ฐ๋ผ์ [5, 10]์ ๋ฆฌํดํฉ๋๋ค.
์
์ถ๋ ฅ ์#2
arr์ ๋ชจ๋ ์์๋ 1์ผ๋ก ๋๋์ด ๋จ์ด์ง๋๋ค. ์์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํด [1, 2, 3, 36]์ ๋ฆฌํดํฉ๋๋ค.
์
์ถ๋ ฅ ์#3
3, 2, 6์ 10์ผ๋ก ๋๋์ด ๋จ์ด์ง์ง ์์ต๋๋ค. ๋๋์ด ๋จ์ด์ง๋ ์์๊ฐ ์์ผ๋ฏ๋ก [-1]์ ๋ฆฌํดํฉ๋๋ค.
*/
const solution = (arr, divisor) => {
const answer = [];
// for๋ฌธ ์คํ๋
for (let i = 0; i < arr.length; i++) {
// ๋ฐฐ์ด ๊ฐ ํ๋ํ๋๊ฐ 0์ผ๋ก ๋๋ ์ง๋ค๋ฉด ๋น ๋ฐฐ์ด answer ์ ํธ์ฌ
if (arr[i] % divisor === 0) {
answer.push(arr[i]);
}
}
// 1์ฐจ๋ก ํธ์ฌ๋ answer์ ์ผํญ์ฐ์ฐ์๋ฅผ ์ด์ฉํด์ answer ๋ฐฐ์ด๊ฐ์ด ๋น์ด์์ผ๋ฉด -1์ ํธ์ฌํ๊ณ ,
// ๊ทธ๋ ์ง ์๋ค๋ฉด ๋ด๋ฆผ์ฐจ์ sorting
answer.length === 0 ? answer.push(-1) : answer.sort((a, b) => a - b);
return answer;
};
console.log(solution([5, 9, 7, 10], 5));
console.log(solution([2, 36, 1, 3], 1));
console.log(solution([3, 2, 6], 10));
๋ด๋ฆผ์ฐจ์์ผ๋ก sorting ํ๋ ๊ณผ์ ์์ ์ด์ง ์ ๋จน์ ๋ฌธ์ ;;
๋ฐ๋ณต๋ฌธ ์์์ sorting์ ํ๋๋, ๋๋ฒ์งธ ์ผ์ด์ค๊ฐ ์๊พธ output์ผ๋ก [1, 2, 36, 3]์ด ๋์์ ๊ณ ์ํ๋ค.
'๐ฅ CS > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค - ์ ์ผ ์์ ์ ์ ๊ฑฐํ๊ธฐ (0) | 2022.07.16 |
---|---|
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค - ์๋ฐ์๋ฐ์๋ฐ์๋ฐ์๋ฐ์? (0) | 2022.07.15 |
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค - 2016๋ (0) | 2022.07.15 |
[Algorithm] ํ๋ก๊ทธ๋๋จธ์ค - ์๋ฆฟ์ ๋ํ๊ธฐ (0) | 2022.07.15 |
[Algorithm] ์๊ณ ๋ฆฌ์ฆ ๊ฐ์ & ์๋ฃ๊ตฌ์กฐ (0) | 2022.04.09 |