[Programmers | JavaScript] ๐Ÿ“ŒDay5 - ์ตœ๋Œ“๊ฐ’ ๋งŒ๋“ค๊ธฐ (1), ์ˆœ์„œ์Œ์˜ ๊ฐœ์ˆ˜, ๋ฐฐ์—ด์˜ ์œ ์‚ฌ๋„

Haileyยท2023๋…„ 1์›” 24์ผ
0

Algorithm | JavaScript

๋ชฉ๋ก ๋ณด๊ธฐ
8/9
post-thumbnail

๐Ÿ“ŒDay5

1๏ธโƒฃ ์ตœ๋Œ“๊ฐ’ ๋งŒ๋“ค๊ธฐ (1)

์ •์ˆ˜ ๋ฐฐ์—ด numbers๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. numbers์˜ ์›์†Œ ์ค‘ ๋‘ ๊ฐœ๋ฅผ ๊ณฑํ•ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ“๊ฐ’์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

0 โ‰ค numbers์˜ ์›์†Œ โ‰ค 10,000
2 โ‰ค numbers์˜ ๊ธธ์ด โ‰ค 100
numbers              |	result
[1, 2, 3, 4, 5]	     |  20
[0, 31, 24, 10, 1, 9]|	744
  • ๋ฐฉ๋ฒ• 1
    rest๋ฌธ๋ฒ•์„ ์ด์šฉํ•˜์—ฌ ํ’€์–ด๋ณธ ๋ฐฉ๋ฒ•
    function solution(numbers) {
        const [first, second, ...rest] = numbers.sort((a,b)=>b-a);
        return first * second;
    }
  • ๋ฐฉ๋ฒ• 2
    numbers๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ ํ›„, ๋ฐฐ์—ด์˜ ์ˆœ์„œ๋กœ ๊ณ„์‚ฐํ•˜๋Š” ๋ฐฉ๋ฒ•
    function solution(numbers) {
        numbers.sort((a,b)=>b-a);
        return numbers[0]*numbers[1];
    }

2๏ธโƒฃ ์ˆœ์„œ์Œ์˜ ๊ฐœ์ˆ˜

์ˆœ์„œ์Œ์ด๋ž€ ๋‘ ๊ฐœ์˜ ์ˆซ์ž๋ฅผ ์ˆœ์„œ๋ฅผ ์ •ํ•˜์—ฌ ์ง์ง€์–ด ๋‚˜ํƒ€๋‚ธ ์Œ์œผ๋กœ (a, b)๋กœ ํ‘œ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์ž์—ฐ์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ ๋‘ ์ˆซ์ž์˜ ๊ณฑ์ด n์ธ ์ž์—ฐ์ˆ˜ ์ˆœ์„œ์Œ์˜ ๊ฐœ์ˆ˜๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

1 โ‰ค n โ‰ค 1,000,000
 n	 result
20	   6
100	   9
  • ๋ฐฉ๋ฒ• 1

    • Math.sqrt() ํ•จ์ˆ˜๋Š” ์ˆซ์ž์˜ ์ œ๊ณฑ๊ทผ์„ ๋ฐ˜ํ™˜
    • ์†Œ์ธ์ˆ˜๋ถ„ํ•ด ์ž์—ฐ์ˆ˜๋ฅผ ์†Œ์ธ์ˆ˜๋ถ„ํ•ดํ•˜์˜€์„ ๋•Œ, ๊ฐ ์†Œ์ธ์ˆ˜์˜ ์ง€์ˆ˜์— 1์„ ๋”ํ•œ ์ˆ˜๋“ค์„ ๊ณฑํ•œ ๊ฐ’์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 72๋Š” 2 3ร—3 2์ด๋ฏ€๋กœ ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๋Š” (3+1)ร—(2+1)=12
    function solution(n) {
      let count = 0;
      for (let i = 1; i < Math.sqrt(n); i++) {
        if (n % i === 0) count += 2;
      }
      if (n % Math.sqrt(n) === 0) count += 1;
      return count;
    }
  • ๋ฐฉ๋ฒ• 2
    ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฐฉ๋ฒ•

    function solution(n) {
        const answer = []
        for (let i = 0; i < n + 1; i++) {
            if (n % i === 0) {
                answer.push(i)
            }
        }
        return answer.length
    }

3๏ธโƒฃ ๋ฐฐ์—ด์˜ ์œ ์‚ฌ๋„

๋‘ ๋ฐฐ์—ด์ด ์–ผ๋งˆ๋‚˜ ์œ ์‚ฌํ•œ์ง€ ํ™•์ธํ•ด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋ฌธ์ž์—ด ๋ฐฐ์—ด s1๊ณผ s2๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๊ฐ™์€ ์›์†Œ์˜ ๊ฐœ์ˆ˜๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

1 โ‰ค s1, s2์˜ ๊ธธ์ด โ‰ค 100
1 โ‰ค s1, s2์˜ ์›์†Œ์˜ ๊ธธ์ด โ‰ค 10
s1๊ณผ s2์˜ ์›์†Œ๋Š” ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค
s1๊ณผ s2๋Š” ๊ฐ๊ฐ ์ค‘๋ณต๋œ ์›์†Œ๋ฅผ ๊ฐ–์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
s1	s2	result
["a", "b", "c"]	["com", "b", "d", "p", "c"]	2
["n", "omg"]	["m", "dot"]	0
  • ๋ฐฉ๋ฒ• 1
    includes() ๋ฉ”์„œ๋“œ๋Š” ๋ฐฐ์—ด์ด ํŠน์ • ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š”์ง€ ํŒ๋ณ„
    filter() ๋ฉ”์„œ๋“œ๋Š” ์ฃผ์–ด์ง„ ํ•จ์ˆ˜์˜ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๋Š” ๋ชจ๋“  ์š”์†Œ๋ฅผ ๋ชจ์•„ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜
  function solution(s1, s2) {
    return s1.filter(s => s2.includes(s)).length;
  }
profile
ํŒ€์—์„œ ๊ผญ ํ•„์š”ํ•œ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

0๊ฐœ์˜ ๋Œ“๊ธ€