๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Developer/๐ŸŸ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/python] ์ ํ”„์™€ ์ˆœ๊ฐ„

์ ํ”„์™€ ์ˆœ๊ฐ„

 

OO ์—ฐ๊ตฌ์†Œ๋Š” ํ•œ ๋ฒˆ์— K ์นธ์„ ์•ž์œผ๋กœ ์ ํ”„ํ•˜๊ฑฐ๋‚˜, (ํ˜„์žฌ๊นŒ์ง€ ์˜จ ๊ฑฐ๋ฆฌ) x 2 ์— ํ•ด๋‹นํ•˜๋Š” ์œ„์น˜๋กœ ์ˆœ๊ฐ„์ด๋™์„ ํ•  ์ˆ˜ ์žˆ๋Š” ํŠน์ˆ˜ํ•œ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ์•„์ด์–ธ ์ŠˆํŠธ๋ฅผ ๊ฐœ๋ฐœํ•˜์—ฌ ํŒ๋งคํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

์ด ์•„์ด์–ธ ์ŠˆํŠธ๋Š” ๊ฑด์ „์ง€๋กœ ์ž‘๋™๋˜๋Š”๋ฐ, ์ˆœ๊ฐ„์ด๋™์„ ํ•˜๋ฉด ๊ฑด์ „์ง€ ์‚ฌ์šฉ๋Ÿ‰์ด ์ค„์ง€ ์•Š์ง€๋งŒ, ์•ž์œผ๋กœ K ์นธ์„ ์ ํ”„ํ•˜๋ฉด K ๋งŒํผ์˜ ๊ฑด์ „์ง€ ์‚ฌ์šฉ๋Ÿ‰์ด ๋“ญ๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿฌ๋ฏ€๋กœ ์•„์ด์–ธ ์ŠˆํŠธ๋ฅผ ์ฐฉ์šฉํ•˜๊ณ  ์ด๋™ํ•  ๋•Œ๋Š” ์ˆœ๊ฐ„ ์ด๋™์„ ํ•˜๋Š” ๊ฒƒ์ด ๋” ํšจ์œจ์ ์ž…๋‹ˆ๋‹ค.

 

์•„์ด์–ธ ์ŠˆํŠธ ๊ตฌ๋งค์ž๋Š” ์•„์ด์–ธ ์ŠˆํŠธ๋ฅผ ์ฐฉ์šฉํ•˜๊ณ  ๊ฑฐ๋ฆฌ๊ฐ€ N ๋งŒํผ ๋–จ์–ด์ ธ ์žˆ๋Š” ์žฅ์†Œ๋กœ ๊ฐ€๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

๋‹จ, ๊ฑด์ „์ง€ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์ ํ”„๋กœ ์ด๋™ํ•˜๋Š” ๊ฒƒ์€ ์ตœ์†Œ๋กœ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

 

์•„์ด์–ธ ์ŠˆํŠธ ๊ตฌ๋งค์ž๊ฐ€ ์ด๋™ํ•˜๋ ค๋Š” ๊ฑฐ๋ฆฌ N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฑด์ „์ง€ ์‚ฌ์šฉ๋Ÿ‰์˜ ์ตœ์†Ÿ๊ฐ’์„ returnํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์„ธ์š”.

 


ํ’€์ด

 

def solution(n):
    x = 1
    
    while 1:
        if n % 2 == 0 or n == 1:
            if n <= 2 : break
            n = n / 2

        else :
            n -= 1
            x += 1
            
    return x

 

 


ํ’€์ด ๊ณผ์ •

 

n์ด 50์ด๋ผ๊ณ  ๊ฐ€์ •ํ• ๋•Œ

 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17.... 25 26 27 28 29 30..... 41 42 43 44 45 46 47 48 49 50 

 

50์€ 25๊นŒ์ง€ ๋„์ฐฉ๋งŒ ํ•œ๋‹ค๋ฉด 50๊นŒ์ง€๋Š” ๋ฐฐํ„ฐ๋ฆฌ ์‚ฌ์šฉ์—†์ด ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

 

25๋Š” ํ™€์ˆ˜ ์ด๋ฏ€๋กœ 2๋กœ ๋‚˜๋ˆ„์–ด์ง€์ง€ ์•Š๋Š”๋‹ค. 

 

25์—์„œ 1์„ ๋บ€ 24๋Š” 12๊นŒ์ง€๋งŒ ๋„์ฐฉํ•œ๋‹ค๋ฉด ๋ฐฐํ„ฐ๋ฆฌ ์‚ฌ์šฉ์—†์ด ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

 

์ด๋Ÿฐ ๋งฅ๋ฝ์œผ๋กœ n์„ ๊ณ„์† 2๋กœ ๋‚˜๋ˆ„๊ณ  ํ™€์ˆ˜๊ฐ€ ๋‚˜์˜ค๋ฉด ๋ฐฐํ„ฐ๋ฆฌ๋ฅผ ํ•˜๋‚˜ ์‚ฌ์šฉํ•œ๋’ค,

 

n์— -1์„ ํ•˜๊ณ  ๊ฐ’์„ ๊ณ„์‚ฐ ํ•ด๋‚˜๊ฐ„๋‹ค.

 

๋”ฐ๋ผ์„œ n์ด 50์ผ๋•Œ๋Š” 

 

50 -> ์ง์ˆ˜ -> ๋ฐฐํ„ฐ๋ฆฌ ์‚ฌ์šฉX

25 -> ํ™€์ˆ˜ -> ๋ฐฐํ„ฐ๋ฆฌ ์‚ฌ์šฉO

12 -> ์ง์ˆ˜ -> ๋ฐฐํ„ฐ๋ฆฌ ์‚ฌ์šฉX

6 -> ์ง์ˆ˜ -> ๋ฐฐํ„ฐ๋ฆฌ ์‚ฌ์šฉX

3 -> ํ™€์ˆ˜ -> ๋ฐฐํ„ฐ๋ฆฌ ์‚ฌ์šฉO

1 -> ์ฒ˜์Œ์— ๋ฐฐํ„ฐ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. 

 

๋‹ต : 3