νλ‘κ·Έλλ¨Έμ€
μ½λ μ€μ¬μ κ°λ°μ μ±μ©. μ€ν κΈ°λ°μ ν¬μ§μ λ§€μΉ. νλ‘κ·Έλλ¨Έμ€μ κ°λ°μ λ§μΆ€ν νλ‘νμ λ±λ‘νκ³ , λμ κΈ°μ κΆν©μ΄ μ λ§λ κΈ°μ λ€μ λ§€μΉ λ°μΌμΈμ.
programmers.co.kr
λ¬Έμ
μμ°μ 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)μ λλ€.
νμ΄
1. nμ 2μ§μλ‘ λ³νν ν, 1μ κ°μλ§ μΌλ€.
- bin(μ μ) : μ μλ₯Ό 2μ§μλ‘ λ³ννλ€. λ³ννλ©΄ 0bλΌλ μ λμ΄κ° λΆλλ€.
- count(λ¬Έμ) : λ¬Έμμ κ°μλ₯Ό μΉ΄μ΄νΈνλ€. μ μλ λ€μ΄μ¬ μ μλ€.
2. 2μ§μ nμ 1μ κ°μμ κ°μμ§ λκΉμ§ 1μ© λνλ©΄μ λ°λ³΅νλ€.
Solution
def solution(n):
answer = list(bin(n)).count('1')
a = n
num = 0
while answer != num:
a += 1
num = list(bin(a)).count('1')
return a
Another Solution
def solution(n):
num1 = bin(n).count('1')
while True:
n = n + 1
if num1 == bin(n).count('1'):
break
return n
β» listλ₯Ό μ°μ§ μκ³ ν κ²½μ° ν¨μ¨μ±μ΄ λ μ’λ€.
'π§© Algorithm > [Programmers] Level 2' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [Programmers] L2. JadenCase λ¬Έμμ΄ λ§λ€κΈ° (Python) (0) | 2024.11.08 |
|---|---|
| [Programmers] L2. μ΅μκ° λ§λ€κΈ° (Python) (0) | 2024.11.08 |
| [Programmers] L2. μ¬λ°λ₯Έ κ΄νΈ (μ€ν/ν/Python) (1) | 2024.11.08 |
| Programmers μ΅λκ°κ³Ό μ΅μκ° (Python/Level 2) (0) | 2022.08.12 |
| Programmers νλ ¬μ κ³±μ (Python/Level 2) (0) | 2022.08.11 |