728x90
๋ฐ์ํ
"""
์์ฐ์ n์ด ์ฃผ์ด์ก์ ๋, n์ ๋ค์ ํฐ ์ซ์๋ ๋ค์๊ณผ ๊ฐ์ด ์ ์ ํฉ๋๋ค.
์กฐ๊ฑด 1. n์ ๋ค์ ํฐ ์ซ์๋ n๋ณด๋ค ํฐ ์์ฐ์ ์
๋๋ค.
์กฐ๊ฑด 2. n์ ๋ค์ ํฐ ์ซ์์ n์ 2์ง์๋ก ๋ณํํ์ ๋ 1์ ๊ฐฏ์๊ฐ ๊ฐ์ต๋๋ค.
์กฐ๊ฑด 3. n์ ๋ค์ ํฐ ์ซ์๋ ์กฐ๊ฑด 1, 2๋ฅผ ๋ง์กฑํ๋ ์ ์ค ๊ฐ์ฅ ์์ ์ ์
๋๋ค.
์๋ฅผ ๋ค์ด์ 78(1001110)์ ๋ค์ ํฐ ์ซ์๋ 83(1010011)์
๋๋ค.
์์ฐ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, n์ ๋ค์ ํฐ ์ซ์๋ฅผ
return ํ๋ solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
"""
def solution(n):
answer = n
while answer:=answer+1 :
if bin(n).count('1') == bin(answer).count('1'):
return answer
"""
while๋ฌธ์ answer := answer+1๋ฅผ c์์ (;;1)์ฒ๋ผ
๋ฌดํ ์ฆ๊ฐ for๋ฌธ์ ์ฐ๊ณ ์ถ์ด์ ์ฌ์ฉํ๋ค.
answer := answer+1 ์ answer์ 1์ ๋ํ๋ค.
๊ทธ๋ฆฌ๊ณ answer๊ฐ 0์ด ์๋๋ผ๋ฉด ๋ฌดํ๋ฃจํ๊ฐ ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ธฐ์กด๊ฐ์ ์ด์ง์์ 1์ ๊ฐ์์ ์ ๋ต์ 1์ ๊ฐ์๊ฐ ๊ฐ๋ค๋ฉด
์ ๋ต์ ๋ฆฌํดํ๋ค.
"""
728x90
๋ฐ์ํ
๋๊ธ