๐Ÿ—๏ธ Algorithm/โฌ› ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Programmers] [Summer/Winter Coding(~2018)] [Python] Level2_์ ํ”„์™€ ์ˆœ๊ฐ„์ด๋™

Dbswnstjd 2022. 10. 13. 21:50

๋ฌธ์ œ 

https://school.programmers.co.kr/learn/courses/30/lessons/12980

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

ํ’€์ด

# ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2๋‹จ๊ณ„ - Summer/Winter Coding(~2018) - ์ ํ”„์™€ ์ˆœ๊ฐ„์ด๋™ 
def solution(n):
    ans = 0
    while True:
        if n % 2 != 0:
            n -= 1
            ans += 1
        n = n // 2
        if n == 0:
            return ans

2๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด ๊ณ„์† ์ˆœ๊ฐ„์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ์ง์ˆ˜์ผ ๊ฒฝ์šฐ ์ˆœ๊ฐ„์ด๋™์„ ํ•˜๊ณ  n์ด ํ™€์ˆ˜์ผ ๊ฒฝ์šฐ ํ•œ์นธ ์•ž์œผ๋กœ ๊ฐ„๋‹ค. 

์ฒ˜์Œ์— ์ƒ๊ฐํ• ๋•Œ 0 ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ์˜ฌ๋ผ๊ฐ”๋Š”๋ฐ

n๋ถ€ํ„ฐ 0์œผ๋กœ ๋‚ด๋ ค์˜ค๋Š”๋ฐ ๊ทœ์น™์„ ๋ฐœ๊ฒฌํ•ด์„œ ์กฐ๊ธˆ ํ—ค๋ฉ”์—ˆ๋˜ ๊ฒƒ ๊ฐ™๋‹ค.