λ¬Έμ μ€λͺ
μμ°μ 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 ν 리ν΄νλ κ°λ¨ν λ‘μ§μ΄λ€.
'π μ½λ©ν μ€νΈ λλΉ : PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] μμ΄ λλ§μκΈ° (level2, python) (0) | 2022.09.08 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] μΉ΄ν« (level2, python) (0) | 2022.09.08 |
[νλ‘κ·Έλλ¨Έμ€] νΌλ³΄λμΉ μ (level2, python) (0) | 2022.09.08 |
[νλ‘κ·Έλλ¨Έμ€] μ«μμ νν (level2, python) (0) | 2022.09.08 |
[νλ‘κ·Έλλ¨Έμ€] μ¬λ°λ₯Έ κ΄νΈ (level2, python) (0) | 2022.09.08 |