Jieunny์˜ ๋ธ”๋กœ๊ทธ

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž ๋ฐฐ์—ด ๋ณธ๋ฌธ

Study/Coding Test

[JS] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค - ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž ๋ฐฐ์—ด

Jieunny 2023. 1. 11. 15:29

๐Ÿ“Œ  ๋ฌธ์ œ

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

 

โœ๏ธ  ํ’€์ด

function solution(arr, divisor) {
    var answer = [];
    for(let i=0; i<arr.length; i++){
        if(arr[i] % divisor === 0){
            answer.push(arr[i]);
        }
    }
    if(answer.length === 0){
    answer.push(-1);
    }
   
    answer.sort(function(a, b){
        return a - b;
    });
    return answer;
}

 

๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ

sort() ํ•จ์ˆ˜ ์“ฐ๋ฉด ๋ฌด์กฐ๊ฑด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋˜๋Š” ์ค„ ์•Œ์•˜๋Š”๋ฐ [5, 10].sort() ํ–ˆ๋Š”๋ฐ [10, 5] ๊ฐ€ ๋‚˜์™€์„œ ๋„ˆ๋ฌด ๋‹นํ™ฉํ–ˆ๋‹ค..

์ฐพ์•„๋ณด๋‹ˆ๊นŒ ์ •๋ ฌํ•  ๋•Œ ์š”์†Œ๋ฅผ ๋ฌธ์ž์—ด๋กœ ์ทจ๊ธ‰ํ•˜๊ธฐ ๋•Œ๋ฌธ..

 

์ˆซ์žํ˜•์œผ๋กœ ์ •๋ ฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” sort()์˜ ์˜ต์…˜์ธ compareFunction์„ ์‚ฌ์šฉํ•ด์•ผ ํ•œ๋‹ค.

compareFunction(a, b) ์€ ๋‘ ๋น„๊ต ๊ฐ์ฒด๋ฅผ ๋น„๊ตํ•ด์„œ ๋‘ ๊ฐ์ฒด์˜ ํฌ๊ณ  ์ž‘์Œ์„ ๋ฆฌํ„ดํ•˜์—ฌ ์ •๋ ฌ์‹œํ‚จ๋‹ค.

๋ฆฌํ„ด ๊ฐ’์ด 0๋ณด๋‹ค ์ž‘์œผ๋ฉด a๋ฅผ b๋ณด๋‹ค ์ž‘๋‹ค๊ณ  ์ •๋ ฌํ•˜๊ณ , 0 ์ด๋ฉด ๋™์ผํ•˜๊ฒŒ ์ •๋ ฌ๋œ๋‹ค.

0๋ณด๋‹ค ํฐ์ˆ˜๋ฉด a๋ฅผ b๋ณด๋‹ค ํฌ๋‹ค๊ณ  ์ •๋ ฌํ•œ๋‹ค.