๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algorithm

[Algorithm] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค Lv.1 : ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž ๋ฐฐ์—ด

by ์ฝ”๋”ฉ๊ณต์ฑ… 2022. 11. 8.
๋ฐ˜์‘ํ˜•

๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž ๋ฐฐ์—ด

array์˜ ๊ฐ element ์ค‘ divisor๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ๊ฐ’์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๋ฐฐ์—ด์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. divisor๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” element๊ฐ€ ํ•˜๋‚˜๋„ ์—†๋‹ค๋ฉด ๋ฐฐ์—ด์— -1์„ ๋‹ด์•„ ๋ฐ˜ํ™˜ํ•˜์„ธ์š”.

์กฐ๊ฑด

โˆ™ arr์€ ์ž์—ฐ์ˆ˜๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.
โˆ™ ์ •์ˆ˜ i, j์— ๋Œ€ํ•ด i โ‰  j ์ด๋ฉด arr[i] โ‰  arr[j] ์ž…๋‹ˆ๋‹ค.
โˆ™ divisor๋Š” ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.
โˆ™ array๋Š” ๊ธธ์ด 1 ์ด์ƒ์ธ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.


๋ฌธ์ œ ํ’€์ด

filter ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•˜๋ฉด 0์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ๊ฐ’์„ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฐฐ์—ด์˜ ๊ธธ์ด๊ฐ€ 0์ธ ์ฆ‰, divisor๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์š”์†Œ๊ฐ€ ์—†์„ ๋•Œ๋Š” -1์„ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•˜์˜€์œผ๋ฉฐ ์•„๋‹Œ ๊ฒฝ์šฐ์—๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด์ฃผ์—ˆ๋‹ค.
function solution(arr, divisor) {
    const answer = arr.filter(e => e % divisor == 0)
    answer.length == 0 ? answer.push(-1) : answer.sort((a, b) => a - b)
    return answer;
}


๋‹ค๋ฅธ ํ’€์ด ๋ฐฉ์‹

์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ํ’€์–ด์“ด ๋ฐฉ์‹์ด๋‹ค.
function solution(arr, divisor) {
    var answer = [];
    for (var i=0; i < arr.length; i ++) 
        if (arr[i] % divisor == 0)
            answer.push(arr[i]);

    if(answer.length == 0)
        answer = [-1];
    else
        answer = answer.sort(function(a,b){return a-b});
    return answer;
}
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€


Reference Book

JavaScript
HTML
CSS
๊ด‘๊ณ  ์ค€๋น„์ค‘์ž…๋‹ˆ๋‹ค.