์•Œ๊ณ ๋ฆฌ์ฆ˜ & ๋ฌธ์ œํ’€์ด/Programmers-1

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

YunCow 2022. 9. 3. 22:58

๋ฌธ์ œ ๋‚ด์šฉ

ํ’€์ด๐Ÿ™Ž๐Ÿป‍โ™‚๏ธ

function solution(arr, divisor) {
  const result = arr
    .filter((value) => value % divisor === 0)
    .sort((a, b) => a - b);

  return result.length === 0 ? [-1] : result;
}
/*
(ํ’€์ด)
arr ์„ filter ๋กœ ๋‚˜๋จธ์ง€๊ฐ€ 0 ์ด ๋˜๋Š” ๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ result์— ํ• ๋‹น.
์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ๋ฐฐ์—ด์ด ๋น„์–ด์žˆ์œผ๋ฉด -1์„ ๋ฆฌํ„ดํ•ด์คฌ๋‹ค.
๊ฐ’์ด ์ •์ˆ˜์ธ์ง€ ๋ถˆ๋ฆฌ์–ธ ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š”Number.isInteger()๋ฅผ ์ด์šฉํ•œ ๋ฐฉ๋ฒ•๋„ ์ƒ๊ฐํ•ด๋ดค๋Š”๋ฐ
๊ฒฐ๊ตญ for๋ฌธ์„ ์‚ฌ์šฉํ•ด์•ผํ•ด์„œ ๊ฐ€๋…์„ฑ์ด ๋” ์ข‹์€ fliter ์‚ฌ์šฉ.
*/
  • length === 0 ๋ณด๋‹ค๋Š” not์—ฐ์‚ฐ์ž ์ด์šฉํ•ด์„œ !result.length ๊ฐ€ ๋” ๊น”๋”ํ•ด ๋ณด์ธ๋‹ค๋Š” ํ”ผ๋“œ๋ฐฑ ๊ธฐ์–ตํ•˜๊ธฐ๐Ÿ’ช

for of ๋ฌธ์„ ์ด์šฉํ•œ ํ’€์ด

function solution1(arr, divisor) {
  const answer = [];

  for (const num of arr) {
    if (num % divisor === 0) {
      answer.push(num);
    }
  }

  if (!answer.length) return [-1];
  return answer.sort((a, b) => a - b);
}

reduce๋ฅผ ์ด์šฉํ•œ ํ’€์ด

function solution2(arr, divisor) {
  const answer = arr
    .reduce((acc, cur) => {
      if (cur % divisor === 0) acc.push(cur);
      return acc;
    }, [])
    .sort((a, b) => a - b);

  if (!answer.length) return [-1];
  return answer;
}
  • ๋‘ ํ’€์ด ๋ชจ๋‘ ํŒ€๋ฆฌ๋”๋‹˜์ด ํ•˜์‹  ํ’€์ด์ธ๋ฐ ๋‚œ ์ƒ๊ฐ๋„ ๋ชปํ•œ ๋ฐฉ๋ฒ•์ด๋‹ˆ ์ด๋Ÿฐ ๋ฐฉ๋ฒ•๋„ ์žˆ๋‹ค๋Š” ๊ฑธ ๊ธฐ์–ตํ•˜์ž๐Ÿคฃ