ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Daily Coding 3
    codeStates front-end/Algorithm 2023. 1. 16. 14:34
    ๋ฐ˜์‘ํ˜•

     

     

     

     

     

     

    ๐Ÿ“๋ฌธ์ œ3( powerOfTwo )

     

    ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ 2์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ๋ฆฌํ„ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

     

     

    ๐Ÿ“ฅ์ž…๋ ฅ

     

    ์ธ์ž1 : num

     

    number ํƒ€์ž…์˜ ์ •์ˆ˜ (num >= 1)

     

    ๐Ÿ“ค ์ถœ๋ ฅ

     

    boolean ํƒ€์ž…์„ ๋ฆฌํ„ด

     

     

    โ—๏ธ์ฃผ์˜์‚ฌํ•ญ

     

    ๋ฐ˜๋ณต๋ฌธ(while)๋ฌธ์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค

    2์˜ 0์Šน์€ 1์ž…๋‹ˆ๋‹ค

    Number.isInteger, Math.log2, Math.log ์‚ฌ์šฉ์€ ๊ธˆ์ง€๋ฉ๋‹ˆ๋‹ค.

     

     

    ๋‚˜์˜ ์ƒ๊ฐ

     

     

    ์ˆ˜๋ฅผ ์ž…๋ ฅ ๋ฐ›์•„ -> ์ˆซ์ž๋กœ ์ž…๋ ฅ์„๋ฐ›์œผ๋ฉด

    2์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ -> ๊ฑฐ๋“ญ์ œ๊ณฑ?? ๋ญ”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค 2 % =0 ํ•˜๋ฉด ๊ฑฐ๋“ญ์ œ๊ณฑ์ธ๊ฐ€

    ์—ฌ๋ถ€ ๋ฆฌํ„ด -> true ๋ƒ false๋ƒ

     

    function powerOfTwo(num) {
    
      while (num >= 1) {
      
        if (num === 1){
        return true;
        }
        if (num % 2 !== 0){
        return false;
        }
      }
    }

     

    ์ง์ˆ˜ ๊นŒ์ง€๋Š” ์•Œ๊ฒ ๋Š”๋ฐ ๊ฑฐ๋“ญ์ œ๊ณฑ ์•„๋ฌด๋ฆฌ ์ƒ๊ฐํ•ด๋„ ๋ชจ๋ฅด๊ฒ ๋‹ค ใ…œใ…œ

     

     

    ๋ž˜ํผ๋Ÿฐ์Šค

     

     

    function powerOfTwo(num) {
      if (num === 1) {
        return true;
      }
    
      if (num % 2) {
        return false;
      }
    
      let powered = 2;
      while (powered < num) {
        powered = powered * 2; // 2๊ฐ€ num๋ณด๋‹ค ์ž‘์œผ๋ฉด 2๋ฅผ ๊ณฑํ•ด๋ผ
      }
    
      return powered === num; // ๊ทธ ๊ณฑํ•œ๊ฐ’์„ num๊ณผ ๋น„๊ต
    }

     

    ๊ฑฐ๋“ญ์ œ๊ณฑ์„ ์–ด๋–ป๊ฒŒ ๊ณ„์‚ฐํ•˜๋Š”์ง€ ๋ชฐ๋ž๋Š”๋ฐ

    ์ด๋ ‡๊ฒŒ ๋˜ ํ•˜๋‚˜ ๋ฐฐ์šด๋‹น

     

    ๋ฐ˜์‘ํ˜•

    'codeStates front-end > Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    Daily Coding 7  (0) 2023.01.20
    Daily Coding 6  (0) 2023.01.19
    Daily Coding 5  (0) 2023.01.18
    Daily Coding 4  (0) 2023.01.17
    Daily Coding1,2  (0) 2023.01.13

    ๋Œ“๊ธ€

Designed by Tistory.