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

[Programmers] [์—ฐ์Šต๋ฌธ์ œ] [Python] Level2_๋‹ค์Œ ํฐ ์ˆซ์ž

Dbswnstjd 2022. 10. 13. 20:59

๋ฌธ์ œ 

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

 

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

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

programmers.co.kr

ํ’€์ด

# ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2๋‹จ๊ณ„ - ๋‹ค์Œ ํฐ ์ˆซ์ž
def solution(n):
    c = n+1
    while True:
        if bin(c).count('1') == bin(n).count('1'):
            return c
        c += 1

์ฒ˜์Œ c์— ๋‹ค์Œ ์ˆซ์ž๋ฅผ ์ €์žฅํ•˜๊ณ  bin ํ•จ์ˆ˜๋กœ ์ด์ง„์ˆ˜ ๋ณ€ํ™˜ ํ›„์—

count ํ•จ์ˆ˜๋กœ ์ด์ง„์ˆ˜์˜ 1์˜ ๊ฐœ์ˆ˜๊ฐ€ n๊ณผ ๊ฐ™๋‹ค๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ์ข…๋ฃŒํ•˜๊ณ 

๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด c+1์„ ํ•ด์ค˜ ๋‹ค์Œ ์ˆซ์ž๋กœ ๋„˜์–ด๊ฐ€๊ฒŒ ํ•œ๋‹ค.