π μ½λ©ν
μ€νΈ λλΉ : PS
[νλ‘κ·Έλλ¨Έμ€] λ€μ ν° μ«μ (level2, python)
κ°λ°μ HOON
2022. 9. 8. 17:55
λ¬Έμ μ€λͺ
μμ°μ nμ΄ μ£Όμ΄μ‘μ λ, nμ λ€μ ν° μ«μλ λ€μκ³Ό κ°μ΄ μ μ ν©λλ€.
- 쑰건 1. nμ λ€μ ν° μ«μλ nλ³΄λ€ ν° μμ°μ μ λλ€.
- 쑰건 2. nμ λ€μ ν° μ«μμ nμ 2μ§μλ‘ λ³ννμ λ 1μ κ°―μκ° κ°μ΅λλ€.
- 쑰건 3. nμ λ€μ ν° μ«μλ 쑰건 1, 2λ₯Ό λ§μ‘±νλ μ μ€ κ°μ₯ μμ μ μ λλ€.
μλ₯Ό λ€μ΄μ 78(1001110)μ λ€μ ν° μ«μλ 83(1010011)μ λλ€.
μμ°μ nμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, nμ λ€μ ν° μ«μλ₯Ό return νλ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ ν μ¬ν
μ μΆλ ₯ μ
- nμ 1,000,000 μ΄νμ μμ°μ μ λλ€.
μ μΆλ ₯ μ
n | result |
78 | 83 |
15 | 23 |
μ μΆλ ₯ μ μ€λͺ
μ μΆλ ₯ μ#1
λ¬Έμ μμμ κ°μ΅λλ€.
μ
μΆλ ₯ μ#2
15(1111)μ λ€μ ν° μ«μλ 23(10111)μ
λλ€.
νμ΄ μ½λ
def solution(n):
next = n
answer = 0
while True:
next += 1
if bin(n)[2:].count('1') == bin(next)[2:].count('1'):
answer = next
break
return answer
λΈλ£¨νΈ ν¬μ€ λ¬Έμ (brute force, μμ νμ).
λ€μ μ«μλ₯Ό 1μ© λλ €κ°λ©΄μ, μ΄μ§μλ‘ λ³ννμ λ 1μ κ°―μκ° μ²μ nκ³Ό κ°μμ§ λΉκ΅νκ³ , κ°λ€λ©΄ break ν 리ν΄νλ κ°λ¨ν λ‘μ§μ΄λ€.