๊ด€๋ฆฌ ๋ฉ”๋‰ด

Coding Planet

level 1. ์ฝœ๋ผ์ธ  ์ถ”์ธก , ์ž๋ฐ”, java ๋ณธ๋ฌธ

๐ŸŽ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

level 1. ์ฝœ๋ผ์ธ  ์ถ”์ธก , ์ž๋ฐ”, java

jhj.sharon 2023. 3. 28. 01:39
๋ฐ˜์‘ํ˜•

โœจ๋‚ด ํ’€์ด

class Solution {
    public int solution(int num) {
    
    long n = (long)num;
    for(int i =0; i<500; i++){      
      if(n==1) return i;
      n = n%2== 0 ? n/2 : n*3+1;            
    }
    return -1;
  }
    }
  • ์ฒ˜์Œ์— int->long ํ˜•๋ณ€ํ™˜ ์—†์ด ์ฝ”๋“œ๋ฅผ ์งฐ์„ ๋•Œ ํ…Œ์ŠคํŠธ3๋ฒˆ์ด 488์ด ๋ฆฌํ„ด๋˜๋ฉด์„œ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.
  • ๋ฌธ์ œ ์กฐ๊ฑด์— ๋”ฐ๋ฅด๋ฉด ํ…Œ์ŠคํŠธ 3๋ฒˆ์˜ ๊ฒฝ์šฐ ์—ฐ์‚ฐ ํšŸ์ˆ˜๊ฐ€ 500์ด ๋„˜์–ด -1์„ ๋ฐ˜ํ™˜ํ•ด์•ผํ•˜๋Š”๋ฐ ๊ณ„์† 488์„ ๋ฐ˜ํ™˜ํ–ˆ๋‹ค ๐Ÿ˜…
  • ์ œํ•œ ์‚ฌํ•ญ์„ ์ž˜ ๋ณด๋ฉด num์˜ ๋ฒ”์œ„๊ฐ€ 8,000,000์ธ๋ฐ ์ง์ˆ˜์˜ ๊ฒฝ์šฐ ๋‚˜๋ˆ„๊ธฐ 2๋ฅผ ํ•˜๋ฏ€๋กœ ์ˆซ์ž๋Š” ์ค„์–ด๋“ค์ง€๋งŒ ํ™€์ˆ˜์˜ ๊ฒฝ์šฐ *3+1์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— int๊ฐ€ ๋ฐ์ดํ„ฐ ๋ฒ”์œ„๋ฅผ ๋„˜์–ด์„œ๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ƒ๊ธด๋‹ค.
  • ์˜ˆ๋ฅผ ๋“ค๋ฉด 7,999,999์ธ ๊ฒฝ์šฐ ๋ช‡ ๋ฒˆ ๊ณ„์‚ฐ์„ ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ์—๋„ int์˜ ๊ณ„์‚ฐ๋ฒ”์œ„๋ฅผ ๋„˜์–ด๋ฒ„๋ฆฐ๋‹ค (-> ๋จธ๋ฆฌ๊ฐ€ ๋‚˜์˜๋ฉด ๋ชธ์ด ๊ณ ์ƒํ•œ๋‹ค๊ณ  ์‹ฌ์ง€์–ด ์ง์ ‘ ๊ณ„์‚ฐํ•ด๋ดค๋‹ค..)
  • ๋”ฐ๋ผ์„œ, int๋ฅผ long์œผ๋กœ ํ˜• ๋ณ€ํ™˜ ํ•ด์ค˜์•ผ ํ•œ๋‹ค.
  • ์ž๋ฃŒ๋ณ€ํ™˜์€ ์•„์˜ˆ ์‹ ๊ฒฝ๋„ ์•ˆ์“ฐ๊ณ  ๋…ผ๋ฆฌ์ ์œผ๋กœ ๊ฐ„๋‹จํ•˜๋„ค~ ํ•˜๋ฉด์„œ ์Šฌ์Šฌ ํ’€๋‹ค๊ฐ€ ์—„์ฒญ๋‚˜๊ฒŒ ์‹œ๊ฐ„์„ ์†Œ๋ชจํ–ˆ๋‹ค..

 

 

์ž๋ฃŒํ˜• ๊ฐ’์˜ ๋ฒ”์œ„
int –2,147,483,648 ~ 2,147,483,647
long -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
๋ฐ˜์‘ํ˜•
Comments