[Programmers | JavaScript] ๐Ÿ“ŒDay2 - ์ˆซ์ž ๋น„๊ตํ•˜๊ธฐ, ๋ถ„์ˆ˜์˜ ๋ง์…ˆ, ๋ฐฐ์—ด ๋‘๋ฐฐ ๋งŒ๋“ค๊ธฐ

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

Algorithm | JavaScript

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

๐Ÿ“ŒDay2

1๏ธโƒฃ ์ˆซ์ž ๋น„๊ตํ•˜๊ธฐ

์ •์ˆ˜ num1๊ณผ num2๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋‘ ์ˆ˜๊ฐ€ ๊ฐ™์œผ๋ฉด 1 ๋‹ค๋ฅด๋ฉด -1์„ retrunํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

  • ๋ฐฉ๋ฒ•1
    ๋‹จ์ˆœํ•˜๊ฒŒ ๋ฌธ์ œ๋ฅผ ์ฝ๊ณ  ๋ฐ”๋กœ ๊ตฌํ˜„ํ•ด๋ณธ ๋ฐฉ๋ฒ•

    function solution(num1, num2) {
        var answer = 0;
        if (num1 === num2) {
            return answer = 1
        }else 
            return  answer = -1
        return answer;
    }
  • ๋ฐฉ๋ฒ•2
    ์กฐ๊ฑด (์‚ผํ•ญ) ์—ฐ์‚ฐ์ž๋Š” JavaScript์—์„œ ์„ธ ๊ฐœ์˜ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ๋ฐ›๋Š” ์œ ์ผํ•œ ์—ฐ์‚ฐ์ž. ์•ž์—์„œ๋ถ€ํ„ฐ ์กฐ๊ฑด๋ฌธ, ๋ฌผ์Œํ‘œ(?), ์กฐ๊ฑด๋ฌธ์ด ์ฐธ(truthy)์ผ ๊ฒฝ์šฐ ์‹คํ–‰ํ•  ํ‘œํ˜„์‹, ์ฝœ๋ก (:), ์กฐ๊ฑด๋ฌธ์ด ๊ฑฐ์ง“(falsy)์ผ ๊ฒฝ์šฐ ์‹คํ–‰ํ•  ํ‘œํ˜„์‹์ด ๋ฐฐ์น˜. ํ•ด๋‹น ์—ฐ์‚ฐ์ž๋Š” if...else๋ฌธ ๋Œ€์ฒด์žฌ๋กœ ๋นˆ๋ฒˆํžˆ ์‚ฌ์šฉ

    function solution(num1, num2) {
        var answer = num1 === num2 ? 1 : -1;
        return answer;
    }
  • ๋ฐฉ๋ฒ•3
    'answer'์„ ์—†์• ๊ณ  ์ตœ๋Œ€ํ•œ ์ค„์—ฌ๋ณธ ๋ฐฉ๋ฒ•

    function solution(num1, num2) {
        return num1===num2?1:-1;
    }

2๏ธโƒฃ ๋ถ„์ˆ˜์˜ ๋ง์…ˆ

์ฒซ ๋ฒˆ์งธ ๋ถ„์ˆ˜์˜ ๋ถ„์ž์™€ ๋ถ„๋ชจ๋ฅผ ๋œปํ•˜๋Š” numer1, denom1, ๋‘ ๋ฒˆ์งธ ๋ถ„์ˆ˜์˜ ๋ถ„์ž์™€ ๋ถ„๋ชจ๋ฅผ ๋œปํ•˜๋Š” numer2, denom2๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋‘ ๋ถ„์ˆ˜๋ฅผ ๋”ํ•œ ๊ฐ’์„ ๊ธฐ์•ฝ ๋ถ„์ˆ˜๋กœ ๋‚˜ํƒ€๋ƒˆ์„ ๋•Œ ๋ถ„์ž์™€ ๋ถ„๋ชจ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋‹ด์€ ๋ฐฐ์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

  • ๋ฐฉ๋ฒ•1

    function solution(denum1, num1, denum2, num2) {
        // ๋ถ„์ž
        let topNum = num1*denum2 + num2*denum1
        // ๋ถ„๋ชจ
        let botNum = num1*num2
        // ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜
        let maximum = 1
        // ์•ฝ๋ถ„
        for(let i = 1 ; i <= topNum ; i ++) {
            if(topNum%i === 0 && botNum%i === 0) {
                maximum = i
            }
        }
        return [topNum/maximum, botNum/maximum]
    }
  • ๋ฐฉ๋ฒ•2
    ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ• - ์ตœ์†Œ ๊ณต๋ฐฐ์ˆ˜, ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜ ๊ตฌํ•  ๋•Œ ์‚ฌ์šฉํ•จ

  - a,b ๋ฅผ ์„œ๋กœ ๋‚˜๋ˆŒ๋•Œ, ๋‚˜๋ˆ„์–ด์ง„๋‹ค๋ฉด b๊ฐ€ ์ตœ๋Œ€ ๊ณต์•ฝ์ˆ˜ ์ด๋‹ค. (a>b)

  - ๋งŒ์•ฝ a,b๊ฐ€ ๋‚˜๋ˆ„์–ด์ง€์ง€ ์•Š์œผ๋ฉด b์™€ a๋ฅผ b๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋‹ค์‹œ ๋‚˜๋ˆˆ๋‹ค

  - ์„œ๋กœ๊ฐ€ ๋‚˜๋ˆ„์–ด์ง€๋ฉด a%b ๊ฐ€ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜์ด๋‹ค. ๋‚˜๋ˆ„์–ด์ง€์ง€ ์•Š๋Š”๋‹ค๋ฉด ์œ„์ฒ˜๋Ÿผ b์™€ a๋ฅผ b๋ฅผ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ๋‹ค์‹œ ๋‚˜๋ˆˆ๋‹ค.
function fnGCD(a, b){
    return (a%b)? fnGCD(b, a%b) : b;
}

function solution(denum1, num1, denum2, num2) {
    let denum = denum1*num2 + denum2*num1;
    let num = num1 * num2;
    let gcd = fnGCD(denum, num); //์ตœ๋Œ€๊ณต์•ฝ์ˆ˜

    return [denum/gcd, num/gcd];
}

์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜

const lcm = (a, b) => (a * b) / gcd(a, b); //์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜

3๏ธโƒฃ ๋ฐฐ์—ด ๋‘๋ฐฐ ๋งŒ๋“ค๊ธฐ

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

  • ๋ฐฉ๋ฒ•1
    map์„ ์‚ฌ์šฉํ•ด์„œ ๋งŒ๋“ค์–ด๋ณธ ๊ฒฐ๊ณผ

    function solution(numbers) {
        let answer = numbers.map(function(i){return i*2})
        return answer;
    }
  • ๋ฐฉ๋ฒ•2
    ๊ฐ™์€ map์„ ์‚ฌ์šฉ ํ•˜์ง€๋งŒ ํ™”์‚ดํ‘œํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•ด ๋” ์‹ฌํ”Œํ•˜๊ฒŒ ๊ตฌํ˜„

    const solution = (numbers) => numbers.map((number) => number * 2)
  • ๋ฐฉ๋ฒ•3
    ๋ฌธ์ œ๋ฅผ ๋ณด๊ณ reduce๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ตฌํ˜„ํ•ด๋ณด๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฐฉ๋ฒ•์„ ์ฐพ์•˜๋‹ค.

    • ...a numbers์˜ ๋ฐฐ์—ด์„ ๊ฐ ์š”์†Œ๋กœ ๊ฐ€์ ธ์˜ด
    • b*2 ๋ฌธ์ œ์—์„œ ์›ํ•˜๋Š” ์‹ ์ž…๋ ฅ
    • [] ์ดˆ๊ธฐ๊ฐ’
      function solution(numbers) {
          return numbers.reduce((a, b) => [...a, b * 2], []);
      }
profile
ํŒ€์—์„œ ๊ผญ ํ•„์š”ํ•œ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

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